Declaration Merging

TypeScript 🔴 Senior

Definition

Mecanisme ou plusieurs declarations du meme nom sont fusionnees en une seule definition. S'applique aux interfaces, namespaces et enums.

Analogie

Comme deux equipes qui construisent chacune une aile du meme batiment — a la fin, c'est un seul edifice.

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

Etendre les types de bibliotheques tierces sans modifier leur code source.

Anti-pattern

Abuser du merging pour patcher des types au lieu de creer des extensions propres — difficulte de traçabilité.
#advanced#interview