Template Literal Types

TypeScript 🔴 Senior

Definition

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.

Termes lies

#advanced#interview#type-system