🚧
Functions & Generics

Generic Constraints

extends Keyword
💡 Generic, constraint, EK, "ELIGIBILITY, REQUIREMENT" hai — "ANY, TYPE, chalega, JAB, TAK, USME, YE, SPECIFIC, PROPERTY, hai" — jaise, EK, JOB, POSTING, jisme, "MINIMUM, 2, YEARS, EXPERIENCE" REQUIRED, hai.

extends, keyword, se, EK, GENERIC, TYPE, ko, RESTRICT, kiya, ja, sakta hai — sirf, WOHI, types, ALLOWED, HAIN, JO, EK, SPECIFIC, SHAPE, MATCH, karte, HAIN.

Constraints, se, GENERIC, functions, ke, ANDAR, SPECIFIC, PROPERTIES, ko, SAFELY, ACCESS, kiya, ja, sakta hai — bina, constraint, ke, TypeScript, ko, PATA, nahi, hoga, ki, WOH, PROPERTY, EXIST, karti, hai, YA, nahi.

interface HasLength {
  length: number;
}

function logLength<T extends HasLength>(item: T): T {
  console.log(item.length);   // safe — T, guaranteed, length, property, RAKHТА, hai
  return item;
}

logLength("hello");        // OK — strings, mein, length, hai
logLength([1, 2, 3]);      // OK — arrays, mein, length, hai
// logLength(42);          // ERROR — numbers, mein, length, nahi, hai
🚧
Generic, constraint, EK, "ELIGIBILITY, REQUIREMENT" hai — "ANY, TYPE, chalega, JAB, TAK, USME, YE, SPECIFIC, PROPERTY, hai" — jaise, EK, JOB, POSTING, jisme, "MINIMUM, 2, YEARS, EXPERIENCE" REQUIRED, hai.
1 / 2
⚡ झट से Recap
  • extends = generic type, ko, ek, SPECIFIC, shape, tak, RESTRICT, karta, hai
  • Constraints, se, generic, functions, ke, andar, SAFELY, properties, access, ki, ja, sakti, hain
  • keyof, ke, saath, combine, hoke, ADVANCED, patterns, banaте, hain
इस page में (2 subtopics)

keyof, operator, se, EK, generic, TYPE, ki, PROPERTY, keys, ko, CONSTRAINT, ki, tarah, USE, kiya, ja, sakta hai — jaise, function getProperty<T, K extends keyof T>(obj: T, key: K), SAFE, PROPERTY, ACCESS, ke, liye.

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
const user = { name: "Aarav", age: 25 };
getProperty(user, "name");   // OK
// getProperty(user, "invalid");   // ERROR

Constraints, MULTIPLE, interfaces, ki, INTERSECTION, ke, saath, DEFINE, ki, ja, sakti, HAIN — jaise, <T extends HasName & HasAge>, EK, TYPE, ko, DONO, properties, RAKHNE, ke, liye, FORCE, karta hai.

💡Tip: Complex, constraints, kabhi-kabhi, code, ko, HARD-TO-READ, banaте, HAIN — agar, EK, constraint, BAHUT, COMPLEX, ho, raha, hai, EK, SEPARATE, interface, DEFINE, karna, aksar, CLEANER, hai.