Sofiane Boumedine Lexique Dev

Type Narrowing

TypeScript 🟡 Mid

Type : 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">'string') {
    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.

coreinterview-question