تایپ اسکریپت (type script) را بیشتر بشناسیم

نویسنده : فرامرز موضوع : برنامه نویسی, فناوری اطلاعات بدون دیدگاه

واژه ­هایی مثل «به روز رسانی» یا «توسعه پذیری» را زیاد شنیده‌­ایم. اینکه قرار است یک برنامه را به روز رسانی کنیم یا یک مکانی را توسعه دهیم به این معنی است که قرار است یک سری اصلاحات را انجام دهیم (یک سری ویژگی­‌هایی را کم یا زیاد کنیم).
این ویژگی­‌ها به نظر شما چه هستند که گاهی باید افزایش و گاهی باید آن­‌ها را کاهش دهیم؟
تسهیل در خدمات، سرعت بیشتر، بهتر برطرف کردن نیازها، رفع یک سری مشکلات و … همگی می‌­تواند عاملی باشد تا بخواهیم دست به توسعه­ پذیری یا به‌روزرسانی بزنیم.
نکته‌­ای که باید به آن اشاره کنیم این است که در توسعه­‌پذیری و یا به‌روز‌رسانی قرار نیست که جایگزینی را داشته باشیم صرفا در جهت بهبود کار، یک سری اصلاحات را انجام خواهیم داد.

تایپ اسکریپت یکی از فریم‌ورک‌های زبان برنامه‌نویسی جاوا اسکریپت هست. اگر به مثال بالا برگردیم، زمانی که جاوا اسکریپت را توسعه بدهیم تبدیل خواهد شد به تایپ اسکریپت پس تایپ اسکریپت قرار نیست که جایگزین زبان برنامه نویسی جاوا اسکریپت شود درواقع ما صرفا جاوا اسکریپت را توسعه دادیم.

درموارد زیر سعی داریم با بیان مثال­هایی درباره تایپ اسکریپت، برای شما مطالبی بیان کنیم:

۱.  تایپ اسکریپت توسط «مایکروسافت» پشتیبانی شده است. ضمنا به صورت متن باز بوده که می‌­توان مطابق سلیقه خود، در این زبان برنامه نویسی تغییراتی ایجاد کرد.
۲. پسوند فایل­‌های کدنویسی شده‌­ی توسط زبان تایپ اسکریپت، به صورت TS است (مخفف typescript)

۳. به این مثال توجه کنید:
قطعا همه ما از کسانی که با شخصیت هستند و در شخصیت خود ثبات دارند، خوشمان خواهد آمد و وای بر وقتی که به آدم‌­هایی برخورد کنیم که مدام شخصیت­‌شان در حال تغییر است.
تایپ اسکریپت مثل همان انسان باشخصیت است. اگر یک متغیر را برایش تعریف کنیم همیشه این متغیر ثابت است، اگر بخواهی این متغیر را به صورت دیگر تعریف کنی به شما اخطار خواهد داد که این متغیر دارای شخصیت ثابت است و  نمی­‌توان آن را تغییر داد.
اما جاوا اسکریپت مثل شخصی است که ثبات شخصیتی ندارد. یک متغیر می‌­تواند دارای نقش­‌های مختلفی باشد پس همچین انسانی حتی اگر به او یک ویژگی جدید را هم بدهیم، باز هم قبول خواهد کرد جدا از اینکه این ویژگی می­‌خواهد درست یا غلط باشد.
به این ویژگی تایپ اسکریپت اصطلاحا strongly type گفته و به این ویژگی جاوا اسکریپت loosely type می­‌گویند. قطعا تایپ اسکریپت آخر سر به بهشت خواهد رفت به این دلیل که از خطای شما جلوگیری خواهد کرد و راه درست را به شما نشان خواهد داد اما قطعا جاوا اسکریپت قطعا به بهشت نمی­‌رود چون شما مختار هستی اشتباه کنی و در نهایت هم به دردسر بیفتید.

 

۴. حتما در باکس اول گوگل تایپ کرده‌­اید و مشاهده کرده‌­اید که با تایپ چند حرف اول، به شما یک سری کلمات را نمایش خواهد داد که شما انتخاب کنید. حال به عکس بالا دقت کنید. این خاصیت دقیقا در تایپ اسکریپت هم است که به آن اصطلاحا Intellisense گفته می­‌شود. درواقع زمانی که حروف ابتدایی یک کد را وارد می­‌کنیم، یک لیست از کدهای مورد نظر به ما نشان می‌­دهد که می­‌توانیم کدنویسی را سریع انجام دهیم.

۵. این زبان مجهز به حالت syntax است. سینتاکس مثل دوربین­‌های پلیس در محیط کدنویسی ما است. حواسش به ما است که قوانین را رعایت کنیم و درست برنامه نویسی را انجام دهیم اما از نتیجه اخر خبری ندارد که شما سالم به مقصد می­‌رسید یا خیر. (کدنویسی شما نتیجه خواهد داد یا خیر ؟ برای سینتاکس مهم نیست).

۶. خاصیت وراثت یا Inhertance را هم می‌­توان در تایپ اسکریپت یافت. وراثت به این مفهوم اشاره دارد که در کدنویسی ممکن است از یک کلاس، در بیان کلاس دیگر هم استفاده شود.
خلاصه اگر داخل فرم‌­های مختلف دیده باشید، یک قسمتی داریم به اسمِ «نام پدر»!
اینجا هم داستان از این قرار است که هر وقت می­‌خواییم از یک کلاس، در کلاس دیگر هم استفاده کنیم داریم از خاصیت وراثت استفاده نماییم اصطلاحا از آن ارث می­‌بریم (انگار که داریم می‌نویسیم نام پدر! )

۷. یک ویژگی مهم دیگری که می­توان از آن یاد کرد، مفهوم interface است. به مثال زیر توجه کنید:
برای لاغر شدن هم باید ورزش کرد و هم باید اصول تغذیه صحیح را رعایت کرد.
در مثالی که عنوان کردیم، درواقع «لاغرشدن» یک کلاس برنامه نویسی است و هر کدام از مفاهیم ورزش و تغذیه در حکم یک interface هستند.
نکته مهم این است که ما هنگامی که از interface صحبت می­‌کنیم، یک‌سری چارچوب یا قوانین را بیان می­‌کنیم که به خودی خود عملکردی نیستند (برای لاغر شدن و یا داشتن تناسب اندام و حس سلامتی فقط ورزش و یا فقط تغذیه مناسب، عملکردی نیستند) اما زمانی که از interface ها در یک کلاس استفاده می­‌کنیم، درواقع به خود متعهد خواهیم شد که حتما این مفاهیم را در قالب آن کلاس مشخص، اجرایی کنیم (لاغر شدن و داشتن بدنی سالم یک کلاس است که ورزش و تغذیه را به عنوان یک اینترفیس درون خود قرار می‌­دهند پس باید برای لاغر شدن یا تناسب اندام به این دو عامل عمل کرد)

 

نتیجه گیری

در این مقاله از یکی از فریم‌ورک‌های زبان جاوا اسکریپت صحبت کردیم. درواقع تایپ اسکریپت نسخه توسعه یافته­ ی جاوا اسکریپت هس که امروزه طرفداران زیادی را به خود جذب کرده است.
سعی کردیم در تیم لیداوب با بیان مثال­‌هایی، مفاهیم مربوط به تایپ اسکریپت را در قالب ویژگی­‌های ۷ گانه‌­ای که مهم هستند، به صورت ساده بیان کنیم. این زبان در حال حاضر حدودا ۵ ساله است و جای کار بسیاری هنوز دارد. اگر علاقه‌مند به این فریم ورک جذاب هستید، می­‌توانید مقالات و آموزش‌­های ما را دنبال کنید.