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' any "
Puedo hacer que el código funcione declarándolo MyNamespace
como una variable ambiental y descartando la window
explicitación, pero no quiero hacer eso.
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
¿Cómo puedo mantenerme window
allí y hacer feliz a TypeScript?
Como nota al margen, me parece especialmente divertido que TypeScript se queje, ya que me dice que window
es de tipo any
que definitivamente puede contener cualquier cosa.