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

تایپ اسکریپت : یه رابطهی سمیِ جذاب (چرا با وجود غر زدن، ولش نمیکنم؟)
همیشه ازم میپرسن: «یونس، واقعاً لازمه برای همه چیز از تایپاسکریپت استفاده کنیم؟ اذیت نمیکنه؟» جواب من همیشه اینه: «اذیت میکنه، ولی مگه زندگی بدون چالش مزه میده؟» 😊
تایپاسکریپت مثل اون دوست وسواسیه که موقع کد زدن مدام میاد بالای سرت و میگه: «مطمئنی این آبجکت null نیست؟ واقعاً میخوای این متغیر رو به اون تابع پاس بدی؟» اوایل از دستش کلافهای، ولی بعد از یه مدت میبینی بدون اون، انگار داری تو تاریکی با چشم بسته کد میزنی. 😅
اگر این تجربهها برات آشناست، تبریک میگم 👏 تو رسماً وارد باشگاه «زجرکشیدههای تایپاسکریپت» شدی 🎊🕺
💠 تو یه توسعهدهنده تایپاسکریپت هستی، اگر…
- یه بار تصمیم گرفتی یه پروژه کوچیک جاوااسکریپت رو Typeایی کنی و فکر کردی «نهایتاً ۲ ساعت طول میکشه». سه روز گذشته و هنوز داری با
interfaceوtypeکشتی میگیری. 😅 - وقتی با ارور
Property 'x' does not exist on type 'y'مواجه شدی، به جای دیباگ، یهas anyنوشتی و با وجدان درد شدید، به کدنویسی ادامه دادی . (ما همهمون این کار رو کردیم، نگران نباش 😉) - نیم ساعت وقت گذاشتی تا یه
Genericخیلی پیچیده بنویسی که بتونه هر چیزی رو هندل کنه، فقط برای اینکه IDE (ویرایشگر کدت) بتونه براتAutocompleteکنه. (و بعدش از شدت حس باهوش بودن، به خودت افتخار کردی 🤩).

💠 اون لحظه طلایی «آها 🙂↕»
میدونی کی میفهمی واقعاً با تایپاسکریپت رفیق شدی؟ وقتی که:
- یه ریفکتور سنگین زدی، کل فایلهای پروژه رو زیر و رو کردی، و بعد که برنامه رو اجرا کردی… بدون هیچ باگ Runtime کار کرد. اون لحظه حس میکنی پادشاه دنیای نرمافزاری 👑
- وقتی به کدهایی که ۶ ماه پیش نوشتی نگاه میکنی و با اینکه اون موقع خیلی با تایپها جنگیدی، الان دقیقاً میفهمی هر ورودی و خروجی چیه، بدون اینکه نیاز باشه کل فایل رو بخونی و این مزایای استفاده از تایپ اسکریپت هست.

💠 لحظات تاریک « یادگیری تایپ اسکریپت و استمرار داشتن 💪»
البته همیشه هم گل و بلبل نیست. تایپاسکریپت هم لحظات سمی خودش رو داره:
- وقتی مجبوری یه تایپ خیلی تو در تو (Nested) رو تعریف کنی که انگار داره باهات زبان باستانی صحبت میکنه.
- زمانی که ساعتها روی یه ارور قفل کردی، بعد فهمیدی یه
?(Optional Chaining) یادت رفته بذاری. - وقتی با کتابخونههایی کار میکنی که اصلاً
Type Definitionندارن و باید خودت بشینی براشون دستی تایپ تعریف کنی. (اینجا دقیقاً همون جاییه که آدم با خودش میگه: «چرا اصلاً رفتم سمت برنامه نویسی؟! 👺»)

💠 حرف آخر. چرا هنوز استفادهاش میکنیم؟
راستش رو بخواین، تایپاسکریپت اومده تا جلوی «من آینده» رو بگیره 🤗. اون «من آینده»ای که خسته هست، عجله داره و میخواد یه باگ احمقانه رو به تولید (Production) بفرسته.
تایپاسکریپت شاید در لحظه سرعتت رو کم کنه، ولی در بلندمدت، سرعت رشد و کیفیت محصولت رو به شدت بالا میبره. مثل وقتی که توی بازیها، کلی وقت میذاری برای آپگرید کردن تجهیزات. اولش کندی، ولی جلوتر که میری، مبارزه با غول مرحله آخر رو خیلی راحتتر رد میکنی. ⚔️
🚀 اگر تا اینجای مقاله با خودت گفتی :
«اوکی… پس تایپ اسکریپت فقط ادا درآوردن ویرایشگر کدم نیست و واقعاً میتونه زندگیمو نجات بده 😅»
احتمالاً وقتشه جدیتر یادش بگیری پس زمان یادگیری تایپ اسکریپت برات فرا رسیده تا بدونی تفاوت تایپ اسکریپت و جاوااسکریپت چی هست.
من توی دوره « تایپ اسکریپت پلاس : از صفر تا تسلط » دقیقاً سعی کردم چیزی رو آموزش بدم که خودم دوست داشتم سالها پیش یاد بگیرم: نه فقط سینتکس و تایپها، بلکه طرز فکر واقعی کار با تایپ اسکریپت در پروژههای واقعی.
اگر دوست داری از مرحلهٔ any بزن رد شو 😭 برسی به مرحلهٔ این Type inference واقعاً قشنگ بود 😎
این دوره دقیقاً برای تو ساخته شده 👇
دوره تایپ اسکریپت پلاس : از صفر تا تسلط 🚀 از استاد یونس قربانی

