سلام.
من محمد گلدست هستم و قصد دارم که تجربیات خودم رو برای مهاجرت از جاوا اسکریپت به تایپ اسکریپت رو برای شما بزرگواران اینجا بنویسم. ممنونم اگر کیفیت مقالات رو با نظرات سازنده ی خودتون به سطح بالاتری برسونید.
من یه توسعه دهنده ی ( تقریبا متعصب ) جاوا اسکریپت بودم که تصمیم گرفتم بنا به اصرار دوستان سوییچ کنم به تایپ اسکریپت :)) ، تا الان یه سری چیز میز یاد گرفتم که به نظر خیلی جذاب میومد. پس سعی کردم یه دستی به پروفایل ویرگولم بکشم و از تجربیات این مهاجرت و چیز هایی که یاد میگیریم رو با شما به اشتراک بزارم.
توی این چند سال پروژه های لارج اسکیل با بیزینس مدل های متفاوتی رو با جاوا اسکریپت پیاده سازی کردم که آخرین پروژه ی من برای اسفند 98 ، اپلیکیشن ری اکت نیتیو سایت بانی مد بود. ( که حتما راجب چالش های یه اپلیکیشن واقعی با ایده های خلاقانه BI و تیم مارکتینگ اون براتون مینویسم ) خب وقتی پروژه از یه حدی بزرگ تر میشه، ( جدای اینکه چند نفر روی اون کار میکنن !! ) readable بودن یا خوانایی کد برای خود برنامه نویس هم یکم دشوار میشه یا ورودی / خروجی توابع ، نوع متغییر ها، اصلا اینا به کنار ، اون Hint ویژوال استودیو کد از کار میوفته و قاطی میکنه :)) و خلاصه یه جورایی دوست داریم سریعتر پروژه رو تموم کنیم و هرچه جلوتر میریم ریفکتور کردن کد برامون سخت تر میشه و یه جورایی آدم هم بی حوصله تر میشه ( یعنی بارها شده اواخر پروژه که رسیده، برای اینکه ببینم یه ماژول چه پراپس هایی میتونه دریافت کنه، دست به دامن راه هایی مختلفی از جمله مرور مرتب داکیومنت خود ماژول شدم ). پس فهمیدیم یه جورایی قراره به خودمون کمک کنه و قراره راحت تر کد بزنیم ولی اینم قبول دارم تحمل کردن یه سری امکانات برای ما JS دولوپرها که آزادی بیان در تعریف متغییرهارو داشتیم یکم سخته. ( ولی خب همه میگن خیلی باحال میشه بعد یه مدت. بریم ببینیم چی میشه دیگه :)) ).
احتمالا شما هم اسم Superset رو شنیدید. ولی خب سوپرست یعنی چی ؟
TypeScript is a superset of JavaScript, meaning it's a layer around JS with more methods and that makes you follow a certain way of development that you don't have to otherwise in vanilla (like having to set the types of your variables).
خب من همین متن از مقاله ی مدیوم رو براتون ترجمه میکنم :
تایپ اسکریپت یک سوپرست برای جاوا اسکریپت است. به این معنی که یک لایه روی جاوا اسکریپت میباشد که یک سری متد اضافه تر دارد که به شما این امکان را میدهد که راه و روش اصلی یا خاص توسعه نرم افزار را دنبال کنید و نیازی به وجود Vanilla نداشته باشید (مثل نیاز به تعریف نوع برای متغیرها).
یادتون باشه که یادگیری تایپ اسکریپت نیاز به دانش نسبتا خوبی از جاوا اسکریپت داره پس اگر جاوا اسکریپت رو بلدید، سریع NodeJS رو اگه نصب ندارید، از سایت رسمی خودش، نسخه ی LTS رو متناسب با سیستم عامل خودتون نصب کنید و با دستور زیر، TypeScript رو به صورت گلوبال به وسیله NPM نصب کنید.
npm install typescript -g
خب بعد از نصب کامل شما میتونید با دستور زیر ورژن نصب شده رو مشاهده کنید :
tsc --version
به همین راحتی پا گذاشتیم تو دنیای تایپ ها و آزادی جاوا اسکریپت رو فدای راحتی در کدنویسی و توسعه ی پروژه کردیم.
این اولین تجربه من برای مقاله نوشتنه، اگه هر ایرادی در مقالات دیدین میتونید همینجا نظر بدین و اگر میخواین بیشتر با من آشنا بشید میتونیم از اینجا باهم در تماس باشیم. و برای حمایت از ما میتونید اون رو لایک کنید ❤️. یا برای دوستای خودتون که قصد دارن یاد بگیرن اون رو بفرستید ?.
زود، تند، سریع یه پروژه با دستور زیر درست کنید :
npm init testTs --yes
بعد یه فایل app.ts رو توی پروژه بسازید و در خط اول اون بنویسید :
console.log('Hello types world');
بعد توی ترمینال با دستور زیر اون رو به جاوا اسکریپت ترنسپایل کنید :
tsc app.ts
خب از اونجایی که گفتم تایپ اسکریپت یک لایه بر روی جاوا اسکریپت هست، پس نیازه کدها به جاوا اسکریپت ترجمه بشه. دقت کنید کدها توسط ترنسپایلر خود تایپ اسکریپ به جاوا اسکریپت ترجمه میشه و در نهایت ما از فایل App.js استفاده میکنیم، دقیقا مثل تصویر زیر :
محمد گلدست / هشتم فروردین ماه 1399