بعد از این درس چه کاری میتوانی انجام بدهی؟
- بررسی typeof، in یا تابع type predicate نوع گسترده را در هر شاخه دقیق میکند.
- نمونه را اجرا کنی و نتیجه را پیش از تغییر حدس بزنی
- یک تغییر کوچک بدهی و اثرش را در مرورگر توضیح بدهی
- خطای این درس را با DevTools یا اعتبارسنج پیدا و اصلاح کنی
اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانونهای واقعاً اعمالشده از حدسزدن سریعتر راه را نشان میدهند.
چرا مهم است؟ بررسی typeof، in یا تابع type predicate نوع گسترده را در هر شاخه دقیق میکند.
اولین تمرین تو: حالت null را به ورودی اضافه و یک خروجی امن تعریف کن. پیش از تازهکردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.
از یک مثال کوچک شروع کن
بررسی typeof، in یا تابع type predicate نوع گسترده را در هر شاخه دقیق میکند. نمونه کوتاه زیر را در فایل «src/search.ts» بنویس و صفحه را تازه کن. بعد از دیدن نتیجه، سراغ تغییر پیشنهادی برو؛ هدف حفظکردن نشانهها نیست، باید بفهمی کدام خط چه اثری روی صفحه گذاشت.
۱. نمونه را خودت تایپ کن
فایل را ذخیره کن و نتیجه را با انتظار این درس مقایسه کن.
۲. تغییر درس را انجام بده
حالت null را به ورودی اضافه و یک خروجی امن تعریف کن.
۳. خطا را عمداً ببین
صدا زدن trim پیش از narrowing روی string | number خطا میدهد. سپس DevTools یا HTML Validator را باز کن و فقط همان علت را اصلاح کن.
اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانونهای واقعاً اعمالشده از حدسزدن سریعتر راه را نشان میدهند.
سه قطعهای که باید بفهمی
Narrowing و Type Guard
بررسی typeof، in یا تابع type predicate نوع گسترده را در هر شاخه دقیق میکند.
نتیجه قابل مشاهده
عبارتهای id:17 و daftar چاپ میشوند.
نشانه خطا
صدا زدن trim پیش از narrowing روی string | number خطا میدهد.
ورودی جستوجو میتواند شناسه عددی یا عبارت متنی باشد.
فرض کن ورودی جستوجو میتواند شناسه عددی یا عبارت متنی باشد. صفحه باز میشود، اما هنوز این بخش برای کاربر درست و قابل فهم نیست. در این درس فقط همان قسمت را میسازیم تا رابطه کد و نتیجه گم نشود.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
بررسی ساختار تمرین
این صفحه کامپایلر کامل TypeScript نیست؛ ساختار تمرین را صادقانه بررسی میکند و خروجی مورد انتظار را نشان میدهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
حالت null را به ورودی اضافه و یک خروجی امن تعریف کن. پیش از تازهکردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.
این سه اشتباه را انجام نده
صدا زدن trim پیش از narrowing روی string | number خطا میدهد.
تغییر چند بخش همزمان و نامشخصشدن علت نتیجه
اعتماد به ظاهر یک اندازه صفحه و بررسینکردن موبایل یا صفحهکلید
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
در این درس چه چیزی باید در مرورگر دیده شود؟
چرا فقط یک بخش را تغییر میدهیم؟
اولین سرنخ خطای این درس چیست؟
بعد از تغییر کد چه کاری مفید است؟
چه زمانی آماده درس بعدی هستی؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.