کانال تلگرام

TypeScript چگونه توانست جاوا اسکریپت را قدرتمند کند؟

تاریخ : ۱۰ مرداد ۱۳۹۸
نویسنده : امیر حسین نصر

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

typescript

در این مقاله به شما نشان می دهم که چرا این تکنولوژی تا این حد فوق العاده است.

TypeScript زبان جاوا اسکریپت را به یک زبان بزرگ تبدیل کرده است

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

اما با گذشت ۱۵ سال از آن زمان همه چیز عوض شد، فریمورک های بسیاری به کمک ما آمدند و کارها بسیار آسان تر شد، با وجود اینکه زبان جاوا اسکریپت سالانه به روز رسانی میشد، هنوز فضای کمی برای رشد آن وجود داشت و زبان‌های دیگری همچون جاوا و سی شارپ به شدت استفاده می شدند. با استفاده از TypeScript به توسعه دهندگان جاوا اسکریپت این اجازه داده شد که کدهای خود را strongly type کرده و از معایبی که در زمان کد نویسی با این زبان داشتند رهایی یابند.

وقتی از TypeScript استفاده می‌کنید، اشتباهات ناشی از انواع های داده ای غلط به شدت کاهش می یابد، علاوه بر این از اعلان کلاس ها در جاوا اسکریپ لذت خواهید برد، در واقع با استفاده از اصول TypeScript کدهای خود را نوشته و در انتها خروجی همان کد جاوا اسکریپت است. البته این خروجی در تمام مرورگرها کار خواهد کرد.

چرا به انواع در جاوا اسکریپت نیاز داریم؟

در نگاه اول کدهای TypeScript بسیار شبیه به کدهای جاوا اسکریپت هستند، البته نوع های داده ای به آنها اضافه شده است، مشخص کردن انواع داده از استفاده های نادرست و تصادفی جلوگیری می کند. TypeScript رویکردی سختگیرانه تر نسبت به جاوا اسکریپت دارد، اگر با جاوا اسکریپت کد نویسی کرده باشید در مقایسه با بسیاری از زبان های دیگر اغلب محدودیت ها را نخواهید داشت.

اگر چه این مورد می تواند در برخی مواقع مفید واقع شود، اما اشتباه در کد نویسی را افزایش می‌دهد. با استفاده از TypeScript بلوک کدی مانند زیر را خواهیم داشت :

 let cat: string = "Merlin";
 let age: number = 3;
function increaseAge( age: number ){ 
     return age + 1; 
}

همانطور که مشخص است اگر بخواهید در TypeScript کد (increaseAge(cat را اجرا کنید، TypeScript یک استثنا را تولید می‌کند، زیرا تابع increaseAge انتظار یک آرگومان از نوع number را دارد نه string. البته اگر هم این کد را در جاوا اسکریپت اجرا کنید، کد به سادگی اجرا می‌شود و برای شما نتیجه Merlin1 را باز می گرداند. در حالی که این اتفاق نباید بیفتد. این نتیجه حتی می‌تواند باعث به وجود آمدن مشکلات بیشتری در خطوط پایینی کدها شود.

در اینجا به عنوان برنامه نویس باید مهارت بالایی برای ردیابی خطا ها داشته باشید، در حالی که چنین کدی در TypeScript اصلاً اجرا نخواهد شد.

سازگاری

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

هدف TypeScript این است که به عنوان لایه‌ بالایی جاوا اسکریپت عمل کند، در نهایت کدهای نوشته شده در این تکنولوژی به جاوا اسکریپت تبدیل می‌شوند و قابلیت های مورد نظر شما را فراهم می آورد.

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

TypeScript به شما اجازه می دهد وقت بیشتری را بر روی منطق برنامه صرف کنید، در حالی که قبلا بیشتر وقت شما به نوشتن کد هایی که در مرورگرهای مختلف اجرا می‌شد میگذشت.

استاندارد سازی کدها در بین تیم های توسعه

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

این امر همچنین به تیم شما اجازه می دهد تا شکاف‌های بهره وری ناشی از تغییرات و عدم تطابق نسخه های جاوا اسکریپت را پر کنند.

نرم افزاری قدرتمند در سراسر فریمورک ها و کتابخانه ها

در زمان توسعه ی آنگولار 2، تیم توسعه دهنده نگاه ویژه‌ای به TypeScript داشت، زیرا این تکنولوژی می توانست مشکلات سازگاری را حل کند. در واقع در اینجا نوعی شراکت بسیار مهم میان گوگل و مایکروسافت اتفاق افتاد. زیرا زمانی که از آنگولار استفاده می کنید ناچار برای قسمت کلاس‌های آن از TypeScript بهره می جویید.

صرف نظر از قابلیت هایی که در TypeScript در اختیار ما قرار میدهد، این تکنولوژی به ما اجازه می‌دهد از قابلیت‌های ES7 و ES8 که هم اکنون در بسیاری از مرورگرهای جدید هم در دسترس نیست، استفاده کنیم.

اما TypeScript چگونه با بازیگران اصلی همچون ری اکت و نود کار می کند؟

همه ما می دانیم که آنگولار به اندازه کافی تبلیغ TypeScript را انجام می دهد، شما نمی توانید بدون دانستن TypeScript به دنیای آنگولار قدم بگذارید، اما در مورد React و Node چه؟ React از قبل از JSX و Node استفاده می کرد. حتی می توانید در آن از جاوا اسکریپت ساده استفاده کنید.

هدف TypeScript این نیست که نحوه نوشتن کدها را تغییر دهد، بلکه این تکنولوژی یک ساختار اضافی را به منظور حل مشکلات سازگاری اضافه می‌کند، بنابراین کدهای React همان کدهای قبلی خواهد بود، فقط انواع داده ای به آن اضافه خواهد شد. زمانی که کد خود را از جاوا اسکریپت به TypeScript منتقل می‌کنید، کد شما همچنان اجرا خواهد شد زیرا هنوز نوعی به آن ضمیمه نشده است.

با این حال اگر انواع اعلان شود، فوق العاده بودن TypeScript را در فرآیند خطایابی مشاهده خواهید کرد.

 صحبت پایانی

اگر تازه کار با جاوا اسکریپت را شروع کرده اید، شاید TypeScript را زیاد جدی نگیرید، TypeScript به شما اجازه می دهد کدهای جاوا اسکریپت را به روشی ساختار مند بنویسید در واقع کد های نوشته شده در این تکنولوژی در انتها به جاوا اسکریپت تبدیل می‌شوند، این تکنولوژی بسیار قدرتمند بوده و در فریمورکی همچون آنگولار به صورت مستقیم مورد استفاده قرار گرفته است. 

#TypeScript #تایپ اسکریپت
۰ نظر

مقالات پیشنهادی

مشاهده همه مقالات
ثبت دیدگاه

برای ارسال دیدگاه لازم است ابتدا وارد سایت شوید