تایپ اسکریپت (type script) چیست ؟
در این مقاله از لیداوب با یکی از محبوبترین فریم ورکهای زبان برنامه نویسی جاوا اسکریپت آشنا شوید.
تایپ اسکریپت (type script) را بیشتر بشناسیم
واژه هایی مثل «به روز رسانی» یا «توسعه پذیری» را زیاد شنیدهایم. اینکه قرار است یک برنامه را به روز رسانی کنیم یا یک مکانی را توسعه دهیم به این معنی است که قرار است یک سری اصلاحات را انجام دهیم (یک سری ویژگیهایی را کم یا زیاد کنیم).
این ویژگیها به نظر شما چه هستند که گاهی باید افزایش و گاهی باید آنها را کاهش دهیم؟
تسهیل در خدمات، سرعت بیشتر، بهتر برطرف کردن نیازها، رفع یک سری مشکلات و ... همگی میتواند عاملی باشد تا بخواهیم دست به توسعه پذیری یا بهروزرسانی بزنیم.
نکتهای که باید به آن اشاره کنیم این است که در توسعهپذیری و یا بهروزرسانی قرار نیست که جایگزینی را داشته باشیم صرفا در جهت بهبود کار، یک سری اصلاحات را انجام خواهیم داد.
تایپ اسکریپت یکی از فریمورکهای زبان برنامهنویسی جاوا اسکریپت هست. اگر به مثال بالا برگردیم، زمانی که جاوا اسکریپت را توسعه بدهیم تبدیل خواهد شد به تایپ اسکریپت پس تایپ اسکریپت قرار نیست که جایگزین زبان برنامه نویسی جاوا اسکریپت شود درواقع ما صرفا جاوا اسکریپت را توسعه دادیم.
درموارد زیر سعی داریم با بیان مثالهایی درباره تایپ اسکریپت، برای شما مطالبی بیان کنیم:
۱. تایپ اسکریپت توسط «مایکروسافت» پشتیبانی شده است. ضمنا به صورت متن باز بوده که میتوان مطابق سلیقه خود، در این زبان برنامه نویسی تغییراتی ایجاد کرد.
۲. پسوند فایلهای کدنویسی شدهی توسط زبان تایپ اسکریپت، به صورت TS است (مخفف typescript)
۳. به این مثال توجه کنید:
قطعا همه ما از کسانی که با شخصیت هستند و در شخصیت خود ثبات دارند، خوشمان خواهد آمد و وای بر وقتی که به آدمهایی برخورد کنیم که مدام شخصیتشان در حال تغییر است.
تایپ اسکریپت مثل همان انسان باشخصیت است. اگر یک متغیر را برایش تعریف کنیم همیشه این متغیر ثابت است، اگر بخواهی این متغیر را به صورت دیگر تعریف کنی به شما اخطار خواهد داد که این متغیر دارای شخصیت ثابت است و نمیتوان آن را تغییر داد.
اما جاوا اسکریپت مثل شخصی است که ثبات شخصیتی ندارد. یک متغیر میتواند دارای نقشهای مختلفی باشد پس همچین انسانی حتی اگر به او یک ویژگی جدید را هم بدهیم، باز هم قبول خواهد کرد جدا از اینکه این ویژگی میخواهد درست یا غلط باشد.
به این ویژگی تایپ اسکریپت اصطلاحا strongly type گفته و به این ویژگی جاوا اسکریپت loosely type میگویند. قطعا تایپ اسکریپت آخر سر به بهشت خواهد رفت به این دلیل که از خطای شما جلوگیری خواهد کرد و راه درست را به شما نشان خواهد داد اما قطعا جاوا اسکریپت قطعا به بهشت نمیرود چون شما مختار هستی اشتباه کنی و در نهایت هم به دردسر بیفتید.
۴. حتما در باکس اول گوگل تایپ کردهاید و مشاهده کردهاید که با تایپ چند حرف اول، به شما یک سری کلمات را نمایش خواهد داد که شما انتخاب کنید. حال به عکس بالا دقت کنید. این خاصیت دقیقا در تایپ اسکریپت هم است که به آن اصطلاحا Intellisense گفته میشود. درواقع زمانی که حروف ابتدایی یک کد را وارد میکنیم، یک لیست از کدهای مورد نظر به ما نشان میدهد که میتوانیم کدنویسی را سریع انجام دهیم.
۵. این زبان مجهز به حالت syntax است. سینتاکس مثل دوربینهای پلیس در محیط کدنویسی ما است. حواسش به ما است که قوانین را رعایت کنیم و درست برنامه نویسی را انجام دهیم اما از نتیجه اخر خبری ندارد که شما سالم به مقصد میرسید یا خیر. (کدنویسی شما نتیجه خواهد داد یا خیر ؟ برای سینتاکس مهم نیست).
۶. خاصیت وراثت یا Inhertance را هم میتوان در تایپ اسکریپت یافت. وراثت به این مفهوم اشاره دارد که در کدنویسی ممکن است از یک کلاس، در بیان کلاس دیگر هم استفاده شود.
خلاصه اگر داخل فرمهای مختلف دیده باشید، یک قسمتی داریم به اسمِ «نام پدر»!
اینجا هم داستان از این قرار است که هر وقت میخواییم از یک کلاس، در کلاس دیگر هم استفاده کنیم داریم از خاصیت وراثت استفاده نماییم اصطلاحا از آن ارث میبریم (انگار که داریم مینویسیم نام پدر! )
۷. یک ویژگی مهم دیگری که میتوان از آن یاد کرد، مفهوم interface است. به مثال زیر توجه کنید:
برای لاغر شدن هم باید ورزش کرد و هم باید اصول تغذیه صحیح را رعایت کرد.
در مثالی که عنوان کردیم، درواقع «لاغرشدن» یک کلاس برنامه نویسی است و هر کدام از مفاهیم ورزش و تغذیه در حکم یک interface هستند.
نکته مهم این است که ما هنگامی که از interface صحبت میکنیم، یکسری چارچوب یا قوانین را بیان میکنیم که به خودی خود عملکردی نیستند (برای لاغر شدن و یا داشتن تناسب اندام و حس سلامتی فقط ورزش و یا فقط تغذیه مناسب، عملکردی نیستند) اما زمانی که از interface ها در یک کلاس استفاده میکنیم، درواقع به خود متعهد خواهیم شد که حتما این مفاهیم را در قالب آن کلاس مشخص، اجرایی کنیم (لاغر شدن و داشتن بدنی سالم یک کلاس است که ورزش و تغذیه را به عنوان یک اینترفیس درون خود قرار میدهند پس باید برای لاغر شدن یا تناسب اندام به این دو عامل عمل کرد)
نتیجه گیری
در این مقاله از یکی از فریمورکهای زبان جاوا اسکریپت صحبت کردیم. درواقع تایپ اسکریپت نسخه توسعه یافته ی جاوا اسکریپت هس که امروزه طرفداران زیادی را به خود جذب کرده است.
سعی کردیم در تیم لیداوب با بیان مثالهایی، مفاهیم مربوط به تایپ اسکریپت را در قالب ویژگیهای ۷ گانهای که مهم هستند، به صورت ساده بیان کنیم. این زبان در حال حاضر حدودا ۵ ساله است و جای کار بسیاری هنوز دارد. اگر علاقهمند به این فریم ورک جذاب هستید، میتوانید مقالات و آموزشهای ما را دنبال کنید.
خلاصه مقاله معرفی تایپ اسکریپت در نقشه ذهنی
متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند
دیدگاه ها 6
سلام چطور میتونم یک فرم ورک جاوا اسکریپتی مثل flipclock.js رو در typescript استفاده کنم ؟ در حالت عادی چون flipclock تعریف نشده خطا میگیره و به جاوااسکریپت تبدیل نمیکنه !! با تشکر
سلام حسین جان، این لینک شاید بتونه بهت کمک کنه .
https://stackoverflow.com/questions/45596285/flipclock-on-ionic-2?rq=1
لینک معتبر نیست
با تغییر اعداد فارسی به انگلیسی حل شد.
بسیار عالی شرح دادین ممنونم، آموزشش رو با همین بیان میخوام، دارید؟
درود بر شما، متاسفانه خیر