Declaration Merging
TypeScript 🔴 SeniorDéfinition
Mécanisme ou plusieurs déclarations du même nom sont fusionnées en une seule définition. S'applique aux interfaces, namespaces et enums.
Analogie
Comme deux équipes qui construisent chacune une aile du même bâtiment — a la fin, c'est un seul édifice.
Exemple de code
interface Box { width: number }
interface Box { height: number }
// Box = { width: number; height: number }
const b: Box = { width: 10, height: 20 };
Cas d'usage
Étendre les types de bibliothèques tierces sans modifier leur code source.
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est le declaration merging.
C'est un mécanisme où plusieurs déclarations du même nom sont fusionnées en une seule définition, ça s'applique aux interfaces, aux namespaces et aux enums.
Quel est le piège si on en abuse ?
Utiliser le merging pour patcher des types au lieu de créer des extensions propres nuit à la traçabilité du code.
Dans quel cas utiliser ce mécanisme ?
Pour étendre les types d'une bibliothèque tierce sans modifier son code source, par exemple deux interfaces `Box` qui fusionnent leurs propriétés.
Fiche mise à jour le 2026-09-27