تایپ اسکریپت یک زیرمجموعه از جاوا اسکریپت است که نوشتن اپلیکیشنهای قدرتمند را تسهیل میکند. این کار با ارائهی امنیت نوع داده و امکاناتی مانند ماژولها، کلاسها و رابطهای کاربری انجام میشود. همانطور که انتظار میرود؛ همهی کدهای معتبر جاوا اسکریپت، در تایپ اسکریپت قابلاجرا هستند.
استفاده از تایپ اسکریپت برای ساختن برنامههای بزرگ و پیچیده بهشدت پیشنهاد میشود. زیرا این پلتفرم به طرز چشمگیری باگها و اشتباهات بازسازی را کاهش میدهد.
این پلتفرم، قابلیت بررسی نوع استاتیک را ارائه میکند که به معنی این است که میتواند خطاها را بهجای زمان اجرا، در زمان کامپایل تشخیص بدهد. با قابلیتهای جدید بررسی امنیت و نوع داده، افزایش کیفیت کد و کاهش تولید باگ خیلی راحت شده است.
وقتی کدهای تایپ اسکریپت کامپایل میشوند؛ شما میتوانید باگهای زیادی را رفع کنید. عملکرد آن مانند یک مجموعه از تستهای واحد است که زمانی که شما کدها را مینویسید اجرا میشوند. یعنی حتی قبل از اینکه شما تستها را اجرا کنید؛ باگهای موجود مشخص میشوند.
نقاط ضعف جاوا اسکریپت
-
جاوا اسکریپت به چیزهایی که وجود ندارند هم اجازهی دسترسی میدهد.
در قطعه کد زیر، پارامتر num22 برای obj تعریف نشده است. اما همانطور که مشاهده میکنید؛ در جاوا اسکریپت هیچ خطایی نمایش داده نشده است. درحالیکه TypeScript، این کد را دارای خطا اعلام کرده است.
const obj = { num1: 10, num2: 15 }; const multiply = obj.num1 * obj.num22;
-
بررسی نوع استاتیک
در فایل .ts ، وقتی یک متغیر اعلان میشود؛ نمیتواند مجدداً با نوع دادهی دیگری معرفی شود. بنابراین در این حالت خطا نشان میدهد. درحالیکه جاوا اسکریپت این کار را انجام میدهد.
ویژگیهای تایپ اسکریپت
ما تاکنون دو مورد از استفادههای زبان نوع استاتیک را دیدهایم که میتوانند به شناسایی باگهای بالقوه و حذف آنها کمک کنند.
-
نوع بندی استاتیک
به شناسایی خطاها در کد، بدون اجرای آن، بررسی استاتیک میگویند.
تشخیص اینکه چه چیزی خطا است و چه چیزی خطا نیست؛ بر اساس نوع مقادیری که عملیات روی آنها انجام میشود؛ تحت عنوان بررسی نوع استاتیک شناخته میشود.
function sum(a:number, b:number):number{ return a+b; } sum(3, 5);
-
کلاسها و اینترفیس ها
همانند کلاسها، اینترفیس ها هم میتوانند یکدیگر را توسعه دهند. این قابلیت به شما اجازه میدهد تا بتوانید اعضای یکی از اینترفیس ها را در اینترفیس دیگری کپی کنید. این کار در تفکیک اینترفیس ها به کامپوننتهایی که مجدداً قابلاستفاده هستند؛ انعطافپذیری ایجاد میکند.
interface Employee{ firstName : string, lastName : string, employeeID : number } const p1 : Employee = { firstName : 'Bob', lastName : 'Dale', employeeID : 395 }
-
ماژولها
ماژولها در تایپ اسکریپت، دقیقاً مانند جاوا اسکریپت هستند. آنها میتوانند هم کد و هم اعلانها را شامل شوند.
-
کامپایل به جاوا اسکریپت
TypeScript → ES6 → Babel → ES5
تایپ اسکریپت به نیتیو جاوا اسکریپت، کامپایل میشود. بنابراین تمام کدهای جاوا اسکریپت در تایپ هم معتبر خواهند بود.
برای مشاهدهی نحوهی اجرای یک فایل تایپ اسکریپت، روی این لینک کلیک کنید.
tsc index.t // This will generate a `index.js` file
انواع دادهها در تایپ اسکریپت
- undefined, number, string, boolean, object, function, symbol
- نوع دادههای int ، double و یا هر نوع دادهی غیر جاوا اسکریپتی وجود ندارد.
اشارهگرهای اضافی
- TypeScript توسط یک ران تایم جابجا نمیشود.
- سینتکس ES6 مدیریت میشود؛ اما عملگرهای ES6 مدیریت نمیشوند.