¿Cómo se establece explícitamente una nueva propiedad en 'window' en TypeScript?


Configuro espacios de nombres globales para mis objetos estableciendo explícitamente una propiedad en window.

window.MyNamespace = window.MyNamespace || {};

TypeScript subraya MyNamespace y se queja de que:

La propiedad 'MyNamespace' no existe en el valor de tipo 'window' cualquier"

Puedo hacer que el código funcione declarando MyNamespace como una variable ambiental y eliminando la explicitud window, pero no quiero hacer eso.

declare var MyNamespace: any;

MyNamespace = MyNamespace || {};

¿Cómo puedo mantener window allí y hacer feliz a TypeScript?

As una nota de lado, me resulta especialmente curioso que el Manuscrito se queja ya que me dice que window es de tipo any que por definitivamente puede contener cualquier cosa.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52