infer
TypeScript 🔴 SeniorType : Concept
Definition
Le mot-cle infer, utilise dans les conditional types, declare une variable de type locale qui capture un type inconnu. TypeScript le deduit automatiquement lors de la resolution de la condition.
Analogie
Un detective qui laisse un espace vide dans son raisonnement et demande aux indices de le remplir.
Exemple de code
type UnpackPromise<T> =
T extends Promise<infer U> ? U : T;
type A = UnpackPromise<Promise<string>>; class="cmt">// string
type B = UnpackPromise<number>; class="cmt">// numberCas d'usage
Extraire le type de retour d'une Promise, le type d'element d'un tableau, ou les parametres d'une fonction.