Conditional Types
TypeScript 🔴 SeniorType : Concept
Definition
Les conditional types selectionnent un type en fonction d'une condition : T extends U ? X : Y. Distribues sur les unions, ils evaluent la condition pour chaque membre independamment.
Analogie
Un aiguillage ferroviaire : selon le type de train qui arrive (T extends U), il est dirige vers la voie X ou la voie Y.
Exemple de code
type IsString<T> = T extends string ? true : false;
type A = IsString<class="str">39;hello39;>; class="cmt">// true
type B = IsString<42>; class="cmt">// false
type Flatten<T> = T extends Array<infer U> ? U : T;
type C = Flatten<string[]>; class="cmt">// stringCas d'usage
Creer des types qui s'adaptent dynamiquement, comme extraire le type d'element d'un tableau.