مصاحبهTypeScriptمصاحبهجاوااسکریپت
چکلیست مصاحبه تایپاسکریپت: ۷ تلهای که سینیورها میپرسند
۷ سؤال واقعی مصاحبه تایپاسکریپت با جواب کوتاه: narrowing، discriminated union، جنریک، utility types و تله any.
- نویسنده
- سارا محمدی · منتور فرانتاند اسکیلورا
- تاریخ انتشار
- بازبینی
- بازبینیشده در 2026-09-30
- زمان مطالعه
- ۱ دقیقه مطالعه
مصاحبه تایپاسکریپت درباره سینتکس نیست
مصاحبهکننده نمیخواهد بداند interface را حفظی؛ میخواهد ببیند مدل ذهنی تایپ داری یا همهچیز را any میکنی. این ۷ تله، ۸۰٪ مصاحبههاست.
۱. Narrowing واقعی
function total(input: number | string): number {
if (typeof input === 'string') {
const n = Number(input.replace(/[^0-9.-]/g, ''));
if (Number.isNaN(n)) throw new Error('عدد معتبر نیست');
return n;
}
return input;
}سؤال بعدی همیشه این است: «اگر ورودی null هم باشد چه؟» — جواب خوب یعنی union را کامل باز کنی.
۲. Discriminated union
type Result =
| { ok: true; value: number }
| { ok: false; error: string };
function message(r: Result): string {
return r.ok ? `مقدار: ${r.value}` : `خطا: ${r.error}`;
}اگر با ok باریک نکنی و سراغ as بروی، امتیاز را باختهای.
۳. جنریک با قید معنادار
function first<T extends { id: string }>(items: readonly T[]): T | undefined {
return items[0];
}تله: T[] بدون readonly یعنی تابع تو قول تغییر ندادن دیتای کالر را نقض میکند.
۴ تا ۷: چکلیست سریع
Partial/Pick/Omitرا روی مثال واقعی بگو، نه تعریفunknownدر مرز ورودی،neverبرای حالت غیرممکنsatisfiesبرای گرفتن هم تایپ دقیق و هم قرارداد- ماژول و
import type: تایپها را از رانتایم جدا کن
قانون طلایی: هر any باید یک کامنت «چرا» داشته باشد — یا حذفش کن.
قدم بعدی در اسکیلورا
تمرینهای /practice را با حالت strict حل کن و بعد وارد تیم شو تا تایپهایت در کد واقعی محک بخورد.
مقالههای مرتبط
ابزارهای هوش مصنوعی برای فریلنسرها: دو برابر خروجی با نصف زمان
کدام ابزارهای AI واقعاً برای فریلنسر ایرانی پولساز است؟ پرامپت آماده، کدنویسی سریعتر، پروپوزال و تحویل تمیزتر.
علی محمودی
خواندناین موضوع را عمیقتر دنبال کن
خواندی — حالا بساز
همین مهارت را در یک مسیر عملی جلو ببر و وارد پروژه تیمی شو.