Distributive Conditional Types
TypeScript 🔴 SeniorDéfinition
Quand un type conditionnel agit sur un paramètre générique nu (T extends U), il se distribue sur chaque membre d'une union. Chaque membre est évalué indépendamment.
Analogie
Comme un tri postal — chaque lettre de la pile est examinées individuellement et envoyée dans la bonne boite.
Exemple de code
type NoNull<T> = T extends null | undefined ? never : T;
type R = NoNull<string | null | number>;
// string | number (null elimine)
Cas d'usage
Filtrer ou transformer chaque membre d'une union indépendamment (Exclude, Extract fonctionnent ainsi).
Anti-pattern
Ne pas comprendre la distribution et obtenir des résultats inattendus — utiliser [T] extends [U] pour la désactiver.
Termes liés
Dans l'actu
- 20/10 TypeScript 7.1 Beta (npm install -D typescript@beta) : import attributes dans le… Gains de perf mesurés jusqu'à 1,9x ; les distributive conditional types deviennent plus stricts. Semaine 43 (1re moitié) · 19 – 21 octobre 2026 →