Global Augmentation

TypeScript 🔴 Senior

Definition

Technique pour ajouter des declarations au scope global via declare global dans un module. Permet d'etendre Window, globalThis ou les prototypes.

Analogie

Comme un decret national qui ajoute une loi applicable partout — la modification est globale.

Exemple de code

export {};
declare global {
  interface Window {
    analytics: { track(e: string): void };
  }
}

Cas d'usage

Declarer des variables globales injectees (analytics, config, feature flags) avec un typage correct.

Anti-pattern

Polluer le scope global au lieu d'utiliser des imports — retour aux problemes pre-modules.
#advanced#tooling