Type Narrowing
TypeScript 🟡 MidType : Concept
Definition
Le type narrowing est le mecanisme par lequel TypeScript affine un type large en un type plus precis grace a des verifications de controle de flux (if, switch, typeof, in, instanceof).
Analogie
Un entonnoir : tu commences avec un type large en haut et tu finis avec un type precis en bas apres chaque filtre.
Exemple de code
function handle(val: string | number | null) {
if (val === null) return; class="cmt">// exclut null
if (typeof val === class="str">39;string39;) {
console.log(val.toUpperCase()); class="cmt">// string
} else {
console.log(val.toFixed(2)); class="cmt">// number
}
}Cas d'usage
Gerer proprement les types union dans une fonction en laissant TypeScript prouver le type a chaque branche.