Type Guard

TypeScript 🟡 Mid

Definition

Expression qui affine le type dans une branche conditionnelle. Inclut typeof, instanceof, in et les predicats de type personnalises (is).

Analogie

Comme un vigile a l'entree qui verifie votre badge — une fois passe, on sait exactement qui vous etes.

Exemple de code

function isString(val: unknown): val is string {
  return typeof val === "string";
}
if (isString(input)) {
  input.toUpperCase(); // type string garanti
}

Cas d'usage

Creer des gardes personnalises pour valider des donnees externes (API, formulaires) avec typage garanti.

Anti-pattern

Ecrire un type guard qui ne verifie pas reellement le type — le compilateur fait confiance au predicat.

Termes lies

#core#interview#safety