تایپ اسکریپت چیست: هر آنچه در مورد TypeScript باید بدانید!

TypeScript چیست؟
یک زبان متن باز و کامپایلری را تصور کنید که از زیر مجموعه های جاوا اسکریپت تشکیل شده و با ویژگی های منحصر بفردی که دارد فرآیند توسعه را تا حدود زیادی آسان تر می کند. شرکت مایکروسافت این زبان برنامه نویسی را برای اولین بار در سال 2012 به صورتی تنظیم کرده که کاربران بتوانند کدها را به سادگی نوشته و با کامپایل کردن آن ها یک خروجی استاندارد از کدهای جاوا اسکریپت را بگیرند. تایپ اسکریپت به دلیل ریشه های جاوا اسکریپت، هنوز برخی از تفاوت های اساسی را با زبان های OOP سنتی مانند Java یا C++ حفظ کرده است.مهم ترین ویژگی های برنامه نویسی شی گرا در تایپ اسکریپت
اصول برنامه نویسی شی گرا (OOP) در زبان برنامه نویسی TypeScript با دسته بندی های زیر مشخص می شود که قطعاً مطالعه این موارد اطلاعات عمیق تری را به شما علاقه مندان ارائه می دهد:1- Encapsulation
Encapsulation یا به اصطلاح دیگر کپسوله سازی در تایپ اسکریپت با کمک Access Modifiers مانند public ،private و protected است که برای محدود کردن دسترسی بکار می رود. همچنین از دیگر ویژگی های این مزیت قابلیت مشاهده و دسترسی و کنترل روش های مختلف است.2- Inheritance
زبان شی گرا تایپ اسکریپت از Inheritance پشتیبانی می کند و در این راستا می تواند ویژگی ها و متدها را از Class های دیگر با Extends Keyword استفاده کند.3- Polymorphism
با کمک این ویژگی اشیاء یک Class می توانند به عنوان اشیاء Class دیگر بکار گرفته شوند، اما تنها در صورتی این اتفاق ممکن است که پایه Inheritance یکسان داشته باشند و دقیقاً همان رابط را پیاده سازی کنند.4- Abstract - Concept - Concept
این زبان شی گرا به شما اجازه می دهد تا بتوانید Abstract Classes و Methods را با استفاده از Abstract Keyword بسازید. نکته مهم در این ویژگی این است که Abstract Classes را نمی توان به طور مستقیم نمونه سازی کرد و باید در Derived Classes پیاده شوند.5- Full Classes
به جرات می توان گفت یکی از بهترین ویژگی های تایپ اسکریپت که آن را به زبانی قدرتمند برای ساخت برنامه های پیچیده تبدیل می کند همین مورد است! زیرا در این حالت تایپ اسکریپت از ایجاد Class ها با سازنده ها، متدها، ویژگی ها و اعضای ثابت پشتیبانی خواهد کرد.6- Interfaces
در زبان برنامه نویسی TypeScript قراردادهایی برای Class ها تعریف شده است که مشخص می کند کدام متد و ویژگی ها را پیاده کنند. برای مثال Class ها می توانند یک یا چند اینترفیس را پیاده سازی کرده و به این ترتیب موجب استفاده مجدد از کد و اطمینان از ثبات کدهای موجود شوند.7- Overload Method
این خاصیت یکی از منحصر بفردترین ها در تایپ اسکریپت است که تعریف چندین نسخه از یک روش با انواع پارامترها را همزمان با و انواع برگشتی های متفاوت امکان پذیر می کند و به همین دلیل شما می توانید از بارگذاری بیش از حد متد پشتیبانی لذت ببرید!تفاوت های JavaScript با TypeScript
تایپ اسکریپت به عنوان ابر مجموعه ای از جاوا اسکریپت عمل می کند و مزیت هایی مانند تایپ استاتیک را اضافه کرده است که در جاوا اسکریپت وجود ندارد. همچنین یکی دیگر از اساسی ترین تفاوت های JavaScript با TypeScript در رویکرد آن ها به تایپ نهفته است. از طرفی جاوا اسکریپت Types را به صورت پویا در زمان اجرا تعیین می کند، اما تایپ اسکریپت به توسعه دهندگان اجازه می دهد تا انواع متغیرها، پارامترهای تابع و مقادیر بازگشتی را به راحتی مشخص کنند. بنابراین می توان به راحتی ادها کرد که تایپ اسکریپت یک نسخه پیشرفته از جاوا اسکریپت می باشد.
مزایا و معایب استفاده از تایپ اسکریپت
تایپ اسکریپت نیز مانند هر فناوری دیگری مزایا و معایب مخصوص به خودش را دارد که از شما دعوت می کنیم تا با مطالعه تیترهای زیر نگاهی دقیق تر به این موارد بیندازید:1- مزایا TypeScript
- وجود تایپ استاتیک در امکان تشخیص زود هنگام خطاها کدنویسی و اجرا را در طول فرآیند کامپایل
- ابزارهای پیشرفته برای تکمیل خودکار، پیمایش کد و بررسی هوشمند خطا، پشتیبانی ابزار عالی در بهبود توسعه
- سازماندهی کدهای بهبود یافته در Class ها، رابط ها و ماژول ها برای مدیریت بهتر پروژه های بزرگ
- بهتر شدن درک و نگهداری کد نویسی به کمک خوانایی در کدها، حاشیهنویسی های رسا، خواناتر و مستندتر
- معرفی پروژه ها در جاوا اسکریپت به وسیله پذیرش تدریجی در تایپ اسکریپت و سرعت بالا در استفاده از ویژگی ها
2- معایب TypeScript
- نیاز به یادگیری و انطباق اطلاعات جدید با توجه به مفاهیم و نحو جدید برای افراد آشنا به جاوا اسکریپت
- محدودیت های خاص در استفاده از عملکرد یا کتابخانه ها به دلیل پیچیدگی یا غیرممکن بودن مزایا در جاوا اسکریپت
- لزوم منابع اضافی در نصب و نگهداری کامپایلرهای موجود در تایپ اسکریپت

تایپ اسکریپت مناسب چه پروژه هایی است؟
- پروژه های بزرگ و پیچده
- نیاز به مدیریت دقیق در تایپ و ساختار کدنویسی
- هماهنگی و ارتباط بیشتر تیم در پروژه ها
- در صورت نیاز به کاهش خطا در کدها
- پروژه هایی نیازمند به Object Orientation ،Polymorphism و Inheritance
- برنامه ای برای فهرست کردن کارها (To do list)
- ساخت اپلیکیشن های آب و هوا
- برنامه های ردیاب هزینه
- پلتفرم های تجارت الکترونیک
- سیستم مدیریت وظایف برای چارچوب هایی مانند NestJS یا Express
- ایجاد ربات های معاملاتی خودکار
مراحل نصب TypeScript به صورت گام به گام
در حال حاضر شما ایده هایی در مورد تایپ اسکریپت دارید و ممکن است تصمیم گرفته باشید تا آن را نصب کرده و فرآیند توسعه را شروع کنید.1- نصب و راه اندازی NodeJS Framework
در اولین مرحله باید دانلود و نصب فریمورک NodeJS را در نسخه npm انجام دهید. برای این کار می توانید از صفحه دانلود Node کمک بگیرید. همچنین برای پایداری بیشتر می توانید از نسخه LTS نیز استفاده کنید.
2- کلیک بر روی Command Prompt در منو Start
پس از آنکه Node و NPM را نصب و راه اندازی کردید، باید دستور زیر را در خط فرمان NodeJS اجرا کنید:
npm install –g TypeScript
که خروجی اجرا این دستور به شکل زیر خواهد بود:
3- تایید نصب تایپ اسکریپت
اکنون زمان تایید و بررسی است! برای بررسی اینکه آیا TypeScript به درستی نصب شده است یا خیر؟ دستور زیر را اجرا کنید:
tsc -v
TSC کامپایلری از زبان برنامه نویسی تایپ اسکریپت است که -v flag را همراه با نسخه TS به شکل زیر نمایش خواهد داد:
پس از اجرا این مرحله مطمئن خواهید بود که TypeScript با موفقیت نصب شده است و آماده بهره برداری می باشد، اما می توانید با کمک دستور "@" نسخه خاص مورد نظر خود را اجرا کنید که در مثال زیر کاملاً واضح است:
npm install –global [email protected]
نحوه استفاده از زبان برنامه نویسی تایپ اسکریپت
برای شروع استفاده از زبان تایپ اسکریپت به یک ویرایشگر کد مانند Visual Code نیاز دارید، سپس می توانید مراحل زیر را طی کنید تا از توسعه با تایپ اسکریپت لذت ببرید.1- یک پروژه ایجاد کنید.
Hello World مثالی از پروژه مورد نظر است در این آموزش در نظر گرفته شده و ایده های جدیدی در مورد نحوه استفاده تایپ اسکریپت در پروژه ها ارائه می کند. پس دستور زیر را اجرا کنید تا دایرکتوری پروژه ایجاد شود:
mkdir HelloWorld
با دستور زیر وارد دایرکتوری شوید:
cd HelloWorld
2- Visual Studio Code را راه اندازی کنید.
در این آموزش برای راه اندازی این ویرایشگر از کد VS استفاده شده است. پس به File Explorer بروید و فایل جدیدی با نام helloworld.ts ایجاد کنید. توجه کنید که داشتن پسوند .ts در این فایل بسیار مهم است.
3- کد TypeScript را اضافه کنید.
این مرحله تنها با اضافه کردن دستور زیر قابل اجرا می باشد که بلافاصله پس از اجرا کلمات کلیدی Let و String Type Declaration به شما نمایش داده خواهند شد:
let message: string = 'Hello, World!';
4- کد TypeScriptرا کامپایل کنید.
ترمینال (Ctrl+`) را باز کرده و دستور زیر را اجرا کنید:
tsc helloworld.ts

اکنون شما فایل جاوا اسکریپت جدید Helloworld.js را در اختیار دارید، اما زمانی که این فایل را باز می کنید تفاوت زیادی با فایل helloworld.ts مشاهده نخواهید کرد. فقط اطلاعات Type حذف شده و Let با Var جایگزین شده است.