Avatar ·

Cómo agregar explícitamente una nueva propiedad al objeto window en TypeScript

¡Hola a todos! Empecé a aprender TypeScript y me encontré con un problema al trabajar con el objeto global `window`. Necesito agregar a `window` una propiedad personalizada, por ejemplo, para almacenar un ID de sesión global o un flag que sea accesible desde cualquier script en la página. En JavaScript normal, simplemente escribiría: ```typescript window.myCustomProperty = 'hello world'; ``` Pero en TypeScript esto causa un error de compilación: ``` Property 'myCustomProperty' does not exist on type 'Window & typeof globalThis'. ``` Entiendo que TypeScript está fuertemente tipificado y que `window` no tiene esa propiedad por defecto. Probé diferentes formas: usar `(window as any).myCustomProperty`, pero eso elimina toda la tipificación. Intenté crear una interfaz, pero no estoy seguro de cómo aplicarla correctamente. Indíquenme cómo declarar correctamente una nueva propiedad para `window`, para que TypeScript no se queje y al mismo tiempo se mantenga la tipificación. Necesito un enfoque production-ready que funcione también en modo estricto de TypeScript.