Type Predicate
TypeScript 🟡 MidDefinition
Annotation de retour de fonction (param is Type) qui indique au compilateur qu'un narrowing a lieu. Permet de creer des type guards personnalises.
Analogie
Comme un certificat d'authenticite — la fonction garantit l'identite 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 donnees complexes (API responses, events) avec un typage garanti apres la verification.
Anti-pattern
Ecrire un predicat incorrect (retourne true mais le type est faux) — le compilateur fait confiance aveugle.