Template Literal Types
TypeScript 🔴 SeniorDefinition
Types construits via des template strings qui combinent des types litteraux. Permettent de generer dynamiquement des types a partir de patterns de chaines.
Analogie
Comme un generateur de noms compose — prenom + nom donne toutes les combinaisons possibles automatiquement.
Exemple de code
type Event = "click" | "focus";
type Handler = `on${Capitalize<Event>}`;
// "onClick" | "onFocus"
type Locale = `${"en" | "fr"}-${"US" | "FR"}`;
// "en-US" | "en-FR" | "fr-US" | "fr-FR"
Cas d'usage
Typer des cles CSS, des routes API ou des noms d'evenements generes dynamiquement.
Anti-pattern
Generer des unions trop larges avec des template literals — explosion combinatoire qui ralentit le compilateur.