Type Widening
TypeScript 🟡 MidDéfinition
Mécanisme ou TS élargit automatiquement un type littéral vers un type plus général. Une variable let initialisée a "hello" devient string, pas "hello".
Analogie
Comme un cadre photo extensible qui s'adapte a toutes les tailles au lieu de rester fixe sur une seule dimension.
Exemple de code
let x = "hello"; // type: string (widened)
const y = "hello"; // type: "hello" (literal)
let z: "hello" = "hello"; // type: "hello" (explicite)
Cas d'usage
Comprendre le widening pour éviter les erreurs avec les types littéraux dans les fonctions.
Anti-pattern
Termes liés
En entretien
Explique-moi le type widening.
C'est le mécanisme où TypeScript élargit automatiquement un type littéral vers un type plus général : une variable let initialisée à "hello" devient string, pas le littéral "hello". Ça évite des erreurs si la variable est réassignée avec une autre valeur du même type général.
Quel piège rencontre-t-on avec des discriminated unions et let ?
Utiliser let partout fait perdre les types littéraux nécessaires pour discriminer les branches d'une union, alors qu'une const ou une annotation explicite les préserve. Il faut alors soit typer explicitement, soit utiliser const ou as const.
Fiche mise à jour le 2026-09-27