const Type Parameters
TypeScript 🟡 MidDéfinition
Modificateur const sur un paramètre générique, introduit en TypeScript 5.0 (16 mars 2023) : les arguments littéraux sont inférés comme s'ils portaient as const (tuples readonly, littéraux de chaîne), sans que l'appelant ait à l'écrire. La fonction obtient ainsi les types les plus précis possibles.
Analogie
Un photographe qui capture la scène en haute définition d'office, sans que le client demande le mode RAW.
Exemple de code
function nommer<const T extends readonly string[]>(noms: T): T { return noms; }
const a = nommer(['alice', 'bob']);
// a : readonly ['alice', 'bob'] (sans const : string[])
type Premier = (typeof a)[0]; // 'alice'
// Avant TS 5.0 : nommer(['alice', 'bob'] as const) côté appelant
Cas d'usage
Bibliothèques de routage, de validation ou de configuration typée qui veulent les littéraux exacts de l'appelant.
Anti-pattern
Termes liés
En entretien
Explique-moi les const type parameters.
C'est un modificateur const sur un paramètre générique, introduit en TypeScript 5.0, qui infère les arguments littéraux comme s'ils portaient as const, sans que l'appelant ait à l'écrire. Ça donne les types les plus précis possibles, utile pour des bibliothèques de routage ou de configuration typée.
Quand éviter de mettre const partout sur les génériques ?
Quand les données passées sont destinées à être mutées, car const impose des types readonly indésirables. Il faut réserver ça aux cas où on veut vraiment figer les littéraux de l'appelant.
Fiche mise à jour le 2026-09-27