Sofiane Boumedine Lexique Dev

infer

TypeScript 🔴 Senior

Type : 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">// number

Cas d'usage

Extraire le type de retour d'une Promise, le type d'element d'un tableau, ou les parametres d'une fonction.

coreinterview-question