Type Guard
TypeScript 🟡 MidDefinition
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.