Sofiane Boumedine Lexique Dev

Conditional Types

TypeScript 🔴 Senior

Type : 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;hello&#39;>; 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">// string

Cas d'usage

Creer des types qui s'adaptent dynamiquement, comme extraire le type d'element d'un tableau.

coreinterview-question