Type Predicate

TypeScript 🟡 Mid

Definition

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.
#core#interview#safety