آموزش تایپ اسکریپت (TypeScript)

دسته بندی: آموزش طراحی وب

تایپ اسکریپت

در این صفحه می خوانید :

معرفی تایپ اسکریپت

از ابتدا جاوااسکریپت با رشد چشمگیر به ویژه در سال های اخیرروبرو شد. این زبان دامنه برنامه خود را به مراتب فراتر از مرورگر گسترش داده است. در حال حاضر با قدرت در Backend , برنامه های هیبریدی موبایل , راه حل های معماری ابر , طراحی شبکه های عصبی و حتی کنترل روبات ها استفاده می شود. همه کاره بودن و ویژگی های غنی جاوااسکریپت با نرخ پذیرش بالا باعث افزایش روز افزون تقاضا برای برنامه های جاوااسکریپت شده است. این به نوبه خود نیاز به ابزار، کتابخانه ها و فریمورک هایی را ایجاد کرده است. این تقاضا برای عملکرد با کیفیت بالا، قابلیت نگهداری و جاوااسکریپت قوی باعث معرفی TypeScript شد. تایپ اسکریپت یک زبان برنامه نویسی منبع باز است که مایکروسافت آن را توسعه و نگهداری می کند. TypeScript برای توسعه برنامه های کاربردی بزرگ و Transcompiles به جاوااسکریپت طراحی شده است و ممکن است برای توسعه برنامه های جاوااسکریپت در هر دوسمت سرور(Node.js) و کلاینت مورد استفاده قرار گیرد.

تاریخچه تایپ اسکریپت

ابتدا در اکتبر 2012 پس از دو سال توسعه داخلی در مایکروسافت به صورت عمومی در نسخه(0.8) منتشر شد. در سال 2013 نسخه (0.9) منتشر شد که پشتیبانی از Generic ها را اضافه کرد. در کنفرانس توسعه مایکروسافت در سال 2014 نسخه 1.0 منتشر شد. ویژوال استودیو 2013 به روز رسانی 2 پشتیبانی TypeScript را فراهم می کند. در ژوئیه 2014 تیم توسعه یک کامپایلر TypeScript جدید را اعلام کرد که 5 برابر عملکرد  بیشتر را ادعا می کرد. همزمان، کد منبع، که ابتدا در CodePlex میزبانی می شد به GitHub منتقل شد و در سال 2016 نسخه 2.0 منتشر شد. در حال حاضر نسخه 3.4 در دسترس می باشد.

معماری تایپ اسکریپت

کامپایلر تایپ اسکریپت به نام tsc در TypeScript نوشته شده است. در نتیجه می توان آن را به جاوااسکریپت معمولی کامپایل و سپس در هر موتور جاوااسکریپت مانند مرورگر اجرا کرد. در پس زمینه اجرا، تمام کدهای TypeScript به کد جاوااسکریپت کامپایل شده و سپس توسط پلتفرم هدفش اجرا می شود. همچنین یک نسخه آلفای کامپایلر سمت سرویس گیرنده وجود دارد که پس از بارگذاری صفحه کد TypeScript را در مرورگر میزبان اجرا می کند. مرورگر هیچ اشاره ای به اینکه این کد کامپیال شده است ندارد و درست مانند جاوااسکریپت اجرا میکند. بنابراین هیچ سرباری بر روی برنامه ندارد.

ویژگی های تایپ اسکریپت

پشتیبانی از IDE و ویرایشگر: امروزه پشتیبانی از دیگر IDE ها، به خصوص در Eclipse، از طریق یک افزونه توسط Palantir Technologies پشتیبانی می شود. TypeScript منحصر به فرد به Angular نیست و ویرایشگر های متنوع از جمله Emacs ،Vim ،Sublime ،Webstorm ،Atom و Visual Studio Code نیز از TypeScript پشتیبانی می کنند.

کامپایلر Type Ctrl Core: کامپایلر TypeScript دارای وظیفه اصلی مدیریت مکانیک سطح پایین از نوع چک کردن کد ما و تبدیل آن به کد جاوااسکریپت معتبر است که گاهی اوقات Transpiler TypeScript نامیده می شود.

Parser: یک کامپوننت حیاتی است که داده های ورودی و فایل های منبع Typescript شما را دریافت میکند و ساختار داده ای از آن می سازد و یک درخت چکیده ایجاد میکند. تجزیه کد، یک نمایش ساختاری از منابع ما ایجاد میکند که به ما اجازه می دهد تا بررسی کنیم که آنها از قوانین دستور زبان پیروی میکنند , یعنی منابع با استفاده از نحو درست ساخته می شوند.

Binder: برای مثال، هنگامی که ما یک تابع و یک ماژول با همین نام داشته باشیم Binder این اعلامیه را با استفاده از یک نماد به آنها پیوند می دهند که این نوع سیستم اجازه میدهد تا از آنها استفاده کنند.

Tool Integration: تایپ اسکریپت حاوی نوعی حاشیه نویسی است که اجازه می دهد IDE ها و ویرایشگرها تجزیه و تحلیل جامع استاتیک را در کد ما انجام دهند. حاشیه نویسی به این ابزار اجازه می دهد تا پیشنهادات هوشمندانه را با ساختن کد ما، بیشتر قابل پیش بینی کنیم و در عوضIDE ها و ویرایشگر ها بهتر تکمیل خودکار و Refactoring کد TypeScript را ارائه می دهند.

از دیگر ویژگی های TypeScript میتوان به موارد زیر اشاره کرد:

  • چندسکویی
  • سازگاری با کتابخانه‌های جاوااسکریپتی مانند  ReactJS و jQuery
  • دسترسی به به تمام امکانات پیشرفته‌ی ES6 مانند کلاس‌ها و ماژول‌ها
  • نحو اختصاری “arrow” برای توابع ناشناس

نمونه کد های تایپ اسکریپت

نمایش !Hello world

var message:string = "Hello World" 
console.log(message)

متغیر ها در تایپ اسکریپت

var name:string = "John"; 
var score1:number = 50;
var score2:number = 42.50
var sum = score1 + score2 
console.log("name"+name) 
console.log("first score: "+score1) 
console.log("second score: "+score2) 
console.log("sum of the scores: "+sum)

تابع ها درتایپ اسکریپت

function disp_details(id:number,name:string,mail_id?:string) { 
   console.log("ID:", id); 
   console.log("Name",name); 

if(mail_id!=undefined) console.log("Email Id",mail_id); } disp_details(123,"John"); disp_details(111,"mary","mary@xyz.com");

 

آیا این نوشته را دوست داشتید؟