Type System Fundamentals

any, unknown, never

Special Types
💡 any, EK, "ANYTHING, GOES" DOOR, hai — TYPE, CHECKING, DISABLE, kar, deta hai. unknown, EK, "LOCKED, BOX" hai — TUMHE, PEHLE, VERIFY, karna, PADТA, hai, KYA, ANDAR, hai, use, karne, se, PEHLE. never, EK, "IMPOSSIBLE" state, hai — KABHI, HOTA, hi, NAHI.

any, type, checking, ko, COMPLETELY, DISABLE, kar, deta hai — TypeScript, ke, FAYDE, KHO, jaate, HAIN, isliye, OVERUSE, avoid, karna, CHAHIYE. unknown, SAFER, alternative, hai — VALUE, USE, karne, se, PEHLE, TYPE, CHECK, (narrowing) karna, ZAROORI, hai.

never, EK, VALUE, represent, karta hai, JO, KABHI, OCCUR, hi, NAHI, hoti — jaise, EK, function, JO, HAMESHA, throw, karta hai (KABHI, NORMALLY, return, nahi, karta), USका, RETURN, type, never, hai.

let anything: any = 5;
anything = "hello";   // OK, koi, type, checking, nahi

let value: unknown = 5;
// value.toUpperCase();   // ERROR — pehle, type, verify, karna, padega
if (typeof value === "string") {
  value.toUpperCase();   // OK, ab, TypeScript, JAANTA, hai, ki, ye, string, hai
}

function throwError(): never {
  throw new Error("Always throws");
}
any, EK, "ANYTHING, GOES" DOOR, hai — TYPE, CHECKING, DISABLE, kar, deta hai. unknown, EK, "LOCKED, BOX" hai — TUMHE, PEHLE, VERIFY, karna, PADТA, hai, KYA, ANDAR, hai, use, karne, se, PEHLE. never, EK, "IMPOSSIBLE" state, hai — KABHI, HOTA, hi, NAHI.
1 / 2
⚡ झट से Recap
  • any = type checking, disable, karta, hai — OVERUSE, avoid, karo
  • unknown = safer, alternative — use, se, pehle, TYPE, verify, karna, ZAROORI
  • never = value, jo, KABHI, occur, nahi, hoti (jaise, HAMESHA, throw, karne, waale, functions)
इस page में (2 subtopics)

any, "CONTAGIOUS" hai — AGAR, EK, VALUE, any, hai, USSE, DERIVE, ki, gayi, DUSRI, VALUES, bhi, IMPLICITLY, any, ban, jaati, HAIN, jab, tak, EXPLICITLY, TYPE, na, di, jaaye — YE, TYPE, SAFETY, ko, "LEAK" kar, sakta hai POORE, CODEBASE, mein.

⚠️Common Mistake: Ek, single, any, TYPE, se, TYPE, SAFETY, ka, "HOLE" ban, sakta hai, JO, POORE, PROGRAM, mein, PHAIL, sakta, hai — noImplicitAny, compiler, option, ISE, AVOID, karne, mein, HELP, karta hai.

never, type, "exhaustiveness, checking" ke, liye, USEFUL, hai — EK, switch, statement, ke, default, case, mein, EK, VARIABLE, ko, never, mein, ASSIGN, karके, ENSURE, kiya, ja, sakta hai, ki, SAARE, CASES, HANDLE, ho, chuke, hain.

function handle(status: "loading" | "success") {
  switch (status) {
    case "loading": return;
    case "success": return;
    default:
      const exhaustive: never = status;   // agar, naya, case, add, hua, error, aayega
  }
}