Generic Constraint (extends)

TypeScript 🟡 Mid

Definition

Restriction appliquee a un parametre generique via extends pour garantir qu'il possede certaines proprietes. Limite les types acceptables.

Analogie

Comme un casting de film — tout le monde peut postuler, mais il faut au minimum savoir chanter.

Exemple de code

function getLength<T extends { length: number }>(x: T) {
  return x.length;
}
getLength("hello"); // OK
getLength([1, 2]);  // OK
// getLength(42);   // Erreur: pas de length

Cas d'usage

Garantir qu'un generique possede les proprietes necessaires avant de les utiliser.

Anti-pattern

Contraindre trop largement (extends object) ou pas assez — soit trop restrictif, soit pas assez sur.

Termes lies

#core#interview#generics