Advanced Types
Conditional Types
Type-Level if-else
💡 Conditional, type, EK, "TYPE-LEVEL, if-else" hai — "AGAR, TYPE, A, TYPE, B, ko, MATCH, karta, hai, TOH, TYPE, X, use, karo, WARNA, TYPE, Y" — SAB, KUCH, COMPILE-TIME, PAR, DECIDE, hota hai.
Conditional, types, T extends U ? X : Y, SYNTAX, USE, karte, HAIN — AGAR, T, U, ko, ASSIGNABLE, hai, RESULT, X, hota hai, WARNA, Y. Generic, types, ke, saath, POWERFUL, TYPE-LEVEL, LOGIC, banaने, ke, liye, useful, hai.
infer, keyword, conditional, types, ke, ANDAR, EK, TYPE, ko, "EXTRACT" karne, ke, liye, use, hota hai — jaise, EK, function, ke, RETURN, TYPE, ko, EXTRACT, karna.
type IsString<T> = T extends string ? "yes" : "no";
type A = IsString<string>; // "yes"
type B = IsString<number>; // "no"
// infer, se, RETURN, type, extract, karna:
type ReturnTypeOf<T> = T extends (...args: any[]) => infer R ? R : never;
type Result = ReturnTypeOf<() => string>; // string🔀
Conditional, type, EK, "TYPE-LEVEL, if-else" hai — "AGAR, TYPE, A, TYPE, B, ko, MATCH, karta, hai, TOH, TYPE, X, use, karo, WARNA, TYPE, Y" — SAB, KUCH, COMPILE-TIME, PAR, DECIDE, hota hai.
1 / 2
⚡ Quick Recap
- Conditional types = "type-level if-else" (T extends U ? X : Y)
- infer keyword, se, EK, TYPE, ko, EXTRACT, kiya, ja, sakta, hai
- ReturnType<T>, Parameters<T>, jaise, utility, types, ISI, pattern, se, banaye, gaye, HAIN
On this page (2 subtopics)
Jab, EK, conditional, type, EK, "NAKED" type, parameter, PAR, APPLY, hota hai (union, ke, saath), YE, AUTOMATICALLY, UNION, ke, HAR, MEMBER, PAR, "DISTRIBUTE" ho, jaata hai.
type ToArray<T> = T extends any ? T[] : never;
type Result = ToArray<string | number>; // string[] | number[]Multiple, conditional, types, CHAIN, kiye, ja, sakte, HAIN — jaise, "TYPE-LEVEL, switch, statement" jaisi, LOGIC, banaне, ke, liye, MULTIPLE, extends, checks, EK, ke, BAAD, EK.
Tip: Deeply, CHAINED, conditional, types, DIFFICULT, ho, jaate, HAIN, READ, karne, mein — COMPLEX, LOGIC, ko, MULTIPLE, NAMED, type, aliases, mein, BREAK, karna, MAINTAINABLE, rehta, hai.