مهاجرت از جاوا اسکریپت به تایپ اسکریپت در سال 99 ( قسمت اول )

سلام.

من محمد گلدست هستم و قصد دارم که تجربیات خودم رو برای مهاجرت از جاوا اسکریپت به تایپ اسکریپت رو برای شما بزرگواران اینجا بنویسم. ممنونم اگر کیفیت مقالات رو با نظرات سازنده ی خودتون به سطح بالاتری برسونید.

آموزش مهاجرت از جاوا اسکریپت به تایپ اسکریپت  | قسمت اول
آموزش مهاجرت از جاوا اسکریپت به تایپ اسکریپت | قسمت اول


اول مقدمه رو بخونید:

من یه توسعه دهنده ی ( تقریبا متعصب ) جاوا اسکریپت بودم که تصمیم گرفتم بنا به اصرار دوستان سوییچ کنم به تایپ اسکریپت :)) ، تا الان یه سری چیز میز یاد گرفتم که به نظر خیلی جذاب میومد. پس سعی کردم یه دستی به پروفایل ویرگولم بکشم و از تجربیات این مهاجرت و چیز هایی که یاد میگیریم رو با شما به اشتراک بزارم.

حالا چرا تایپ اسکریپت :

توی این چند سال پروژه های لارج اسکیل با بیزینس مدل های متفاوتی رو با جاوا اسکریپت پیاده سازی کردم که آخرین پروژه ی من برای اسفند 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 استفاده میکنیم، دقیقا مثل تصویر زیر :

تبدیل کدهای تایپ اسکریپت به جاوا اسکریپت از طریق Transpiler
تبدیل کدهای تایپ اسکریپت به جاوا اسکریپت از طریق Transpiler


و اما نکته های پایانی این قسمت :

  • اول از همه چیز امیدوارم توضیحات مفید باشه، و تا جایی که تونستم با نگارش روان نوشتم که حوصله ی شما سر نره و بتونید با لذت، TypeScript رو یاد بگیرید.
  • دوم اینکه باعث افتخاره که انتقادات و پیشنهادات شمارو بخونم و بتونم با کمک شما کیفیت مقالات رو بالاتر ببرم.
  • سومین مورد هم منو میتونید با @Mgoldast در اینستاگرام / لینکدین و توییتر دنبال کنید حتما من هم شمارو دنبال میکنم و سعی میکنم از تجربیات ارزشمند شما استفاده کنم.


قسمت دوم مهاجرت به تایپ‌اسکریپت :

https://virgool.io/@mgoldast/%D9%85%D9%87%D8%A7%D8%AC%D8%B1%D8%AA-%D8%A7%D8%B2-%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%A8%D9%87-%D8%AA%D8%A7%DB%8C%D9%BE%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-99-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-cso6oekh1sge


حال دلتون خوش.

محمد گلدست / هشتم فروردین ماه 1399