دوره‌ها / TypeScript / Any و Unknown (Any & Unknown)

Any و Unknown (Any & Unknown)

15 دقیقه Article

Any و Unknown 🔓

وقتی نوع رو نمی‌دونید:

// any - خاموش کردن type checking
let data: any = "anything";
data = 123; // OK
data.foo(); // OK (اما خطرناک!)

// unknown - امن‌تر از any
let data: unknown = "anything";
data = 123; // OK
data.foo(); // ❌ Error: Object is of type 'unknown'

// باید اول type checking کنید
if (typeof data === "string") {
    console.log(data.toUpperCase()); // OK
}
⚠️ نکته: از any تا جایی که ممکنه استفاده نکنید! unknown امن‌تره و شما رو مجبور می‌کنه type checking کنید.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تمرین: Any vs Unknown Medium
سوال تمرین

🎯 تمرین: کار با Unknown

یک متغیر unknown تعریف کنید و با type guard بررسی کنید.

پاسخ تمرین
TYPESCRIPT
let data: unknown = "Hello";

if (typeof data === "string") {
    console.log(data.toUpperCase()); // OK
}

// data.toUpperCase(); // ❌ Error without type guard

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.