Global Augmentation
TypeScript 🔴 SeniorDefinition
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.