Type Predicate
TypeScript 🟡 MidDéfinition
Annotation de retour de fonction (param is Type) qui indique au compilateur qu'un narrowing a lieu. Permet de créer des type guards personnalises.
Analogie
Comme un certificat d'authenticité — la fonction garantit l'identité du type en sortie.
Exemple de code
interface Fish { swim(): void }
interface Bird { fly(): void }
function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
Cas d'usage
Valider des données complexes (API responses, events) avec un typage garanti après la vérification.
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est un type predicate.
C'est une annotation de retour `param is Type` qui indique au compilateur qu'un narrowing a lieu, ce qui permet de créer des type guards personnalisés.
Quel est le risque si le prédicat est mal écrit ?
Le compilateur fait confiance aveugle au prédicat, donc s'il retourne true alors que le type est faux, TypeScript propage une information erronée.
Pour quel usage utiliserais-tu un type predicate ?
Pour valider des données complexes comme des réponses API ou des events, avec un typage garanti après la vérification.
Fiche mise à jour le 2026-09-27