آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

بررسی اجمالی Type Script

دوره های مرتبط با این مقاله

آموزش Type Script - بررسی تجمالی Type Script

جاوا اسکریپت به عنوان زبانی برای سمت کلاینت معرفی شده است. توسعه Node.js باعث شده است که جاوا اسکریپت خود را به عنوان فناوری در حال ظهور و سمت سرور نیز ابراز کند. با این حال، هرچه رشد جاوا اسکریپت بیشتر شود، نظم آن کمتر شده و نگهداری و استفاده مجدد از کد هم سخت تر می شود. علاوه بر این، شکست جاوا اسکریپت در پذیرفتن ویژگی های شی گرایی، type checking قوی و چک کردن خطاهای compile-time باعث شده است که جاوا اسکریپت در سطح کاربری های شرکتی به عنوان یک فناوری سمت سرور کاملا تکامل یافته موفق عمل نکند. برای حل همین مشکل بود که تایپ اسکریپت معرفی شد.

Type Script چیست؟

تایپ اسکریپت همان جاوا اسکریپت است که برای توسعه ی مقیاس برنامه لحاظ شده است.
تایپ اسکریپت زبانی است که اصطلاحا strongly typed تلقی شده همچنین شیء گرا و کامپایل شده می باشد. تایپ اسکریپت توسط طراح C# آقای Anders Hejlsberg در مایکروسافت طراحی شده است. تایپ اسکریپت مجموعه ای تایپ شده از جاوا اسکریپت است که به جاوا اسکریپت کامپایل می شود. به بیانی دیگر تایپ اسکریپت همان جاوا اسکریپت است همراه با ویژگی های بیشتر.


دوره آموزش Type Script

ویژگی های Type Script

تایپ اسکریپت همان جاوا اسکریپت است. تایپ اسکریپت با جاوا اسکریپت آغاز شده و با جاوا اسکریپت هم تمام می شود. تایپ اسکریپت بلوک های اساسی برنامه ی شما را از جاوا اسکریپت می پذیرد، بنابراین شما برای استفاده از تایپ اسکریپت تنها نیاز است که جاوا اسکریپت را بشناسید. تمامی کدهای تایپ اسکریپت برای اینکه اجرا شوند، به معادل های جاوا اسکریپت خود تبدیل می شوند.

تایپ اسکریپت از کتابخانه های دیگر جاوا اسکریپت پشتیبانی می کند. تایپ اسکریپت کامپایل شده را می توان از تمامی کدهای جاوا اسکریپت مورد استفاده قرار داد. جاوا اسکریپت ایجاد شده از تایپ اسکریپت می تواند تمامی قالب های ، ابزارها و کتابخانه های موجود جاوا اسکریپت را مجددا استفاده کند.
جاوا اسکریپت همان تایپ اسکریپت است. این یعنی اسم همه ی فایل های .js معتبر را می توان به .ts تغییر داده و با فایل های دیگر تایپ اسکریپت آن ها را کامپایل کرد.
تایپ اسکریپت پرتابل است. تایپ اسکریپت در تمامی مرورگرها، دستگاه ها و سیستم عامل ها پرتابل است. تایپ اسکریپت در تمامی محیط هایی که جاوا اسکریپت در آن ها اجرا می شود، قابلیت اجرا شدن دارد. تایپ اسکریپت برخلاف رقبای خود برای اجرا شدن نیازی به یک VM اختصاص داده شده یا یک محیط مشخص runtime ندارد.

آموزش Type Script و ECMAScript

مشخصات ECMAScript همان مشخصات یک زبان scripting است، با این تفاوت که این مشخصات استاندارد شده اند. 6 نسخه ی منتشر شده از ECMA-262 وجود دارد. اسم نسخه ی ششم این استاندارد "Harmony" است. تایپ اسکریپت با مشخصات ECMAScript6 مطابقت دارد.


دوره آموزش Type Script

تایپ اسکریپت ویژگی های زبانی اصلی خود را از مشخصات ECMAScript5 (مشخصات ECMAScript5 یا همان مشخصات رسمی جاوا اسکریپت) گرفته است. مشخصه های زبانی تایپ اسکریپت مانند ماژول ها و گرایش مبتنی بر کلاس (class-based orientation) با مشخصات EcmaScript 6 مطابقت دارند. علاوه بر این تایپ اسکریپت ویژگی هایی مانند generic ها و type annotation هایی که جزء مشخصات EcmaScript6 نیستند، را نیز شامل می شود.

چرا بهتر است از Type Script استفاده کنیم؟

تایپ اسکریپت به این دلیل که نسخه ی توسعه داده ی شده جاوا اسکریپت تلقی می شود، نسبت به رقبای خود مانند زبان های برنامه نویسی CoffeeScript و Dart برتری دارد. در مقابل زبان هایی مانند Dart و CoffeeScript به خودی خود زبان های جدیدی هستند و به محیط های زبانی مشخصی برای اجرا شدن نیاز دارند.

از جمله مزایای تایپ اسکریپت می توان به موارد زیر اشاره کرد:

  • کامپایل کردن – جاوا اسکریپت یک زبان تفسیر شده محسوب می شود. به همین دلیل برای اینکه بتوان معتبر بودن آن را آزمایش کرد، ابتدا باید اجرا شود. این یعنی در صورت وجود ارور، باید همه ی کدها را بنویسید تا هیچ خروجی ای پیدا نشود. در نتیجه در صورتی که بخواهید باگی در کدتان پیدا کنید باید ساعت ها زمان صرف این کار کنید. ترنسپایلر تایپ اسکریپت امکان چک کردن ارور را در خود گنجانده است. تایپ اسکریپت کد را کامپایل می کند، و در صورتی که اروری در سینتکس پیدا کند، ارورهای مربوط به کامپایل را تولید می کند. این ویژگی باعث هایلایت شدن ارورها قبل از اجرای برنامه می شود.
  • حالت strong و استاتیک تایپینگ – جاوا اسکریپت strongly typed محسوب نمی شود. تایپ اسکریپت از طریق TLS (TypeScript Language Service) دارای سیستم تایپ استنتاجی (type inference system ) و تایپ استاتیک اختیاری (optional static typing) است. فرض کنید که متغیر اعلان شده ی شما هیچ نوعی نداشته باشد، در این صورت میتوانید با استفاده از TLS ای که مبتنی بر مقدار این متغیر است، نوع آن را استنتاج کنید.
  • تایپ اسکریپت از تعریف تایپ برای کتاب خانه های موجود جاوا اسکریپت پشتیبانی می کند. فایل تعریف تایپ اسکریپت (با پسوند .d.ts ) امکان تعریف کتابخانه های خارجی جاوا اسکریپت را فراهم می کند. از همین رو کدهای تایپ اسکریپت می توانند شامل این کتابخانه های باشند.
  • تایپ اسکریپت از مفاهیم برنامه نویسی شیء گرا مانند کلاس ها، رابط ها، وراثت و ... پشتیبانی می کند.

اجزای Type Script

تایپ اسکریپت سه جزء اصلی زیر را در قلب خود جای داده است :

زبان : که خود شامل سینتکس، کلیدواژه ها و type annotation ها می شود.
کامپایلر تایپ اسکریپت : این جزء (به اختصار tsc) دستورالعمل های مکتوب در تایپ اسکریپت را به معادل جاوا اسکریپت آن تبدیل می کند.
TypeScript Language Service : این سرویس در اطراف pipeline اصلی کامپایلر که برنامه های شبه ویرایشی (editor-like application ) هستند، لایه ای اضافی را اضافه می کند. این سرویس از عملیات های معمول ویراستاری مانند تکمیل عبارت، کمک برای امضا ( signature help) ،فرمت دادن و اضافه کردن outline به کد و اضافه کردن رنگ و ...پشتیبانی می کند.


دوره آموزش Type Script

فایل های اعلانی در Type Script

زمانی که متن تایپ اسکریپتی کامپایل می شود، گزینه ای برای ایجاد کردن یک فایل اعلانی ( با پسوند .d.ts) به وجود می آید. این فایل به عنوان رابطی برای کامپوننت های موجود در جاوا اسکریپت کامپایل شده عمل می کند. مفهوم این فایل ها به مفهوم فایل های هدر پیدا شده در C یا C++ شباهت دارد. فایل های اعلانی intellisense را در اختیار type ها و فراخوانی توابع قرار می دهند، همچنین از کتابخانه های متعددی مانند جی کوئری،MooTools و ... پشتیبانی می کنند.

  • 774
  •    282
  • تاریخ ارسال :   1397/06/06

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .