我通过在window
对象上显式设置属性来为我的对象设置全局命名空间。
window.MyNamespace = window.MyNamespace || {};
TypeScript标出 MyNamespace
并提示:
属性“MyNamespace”在类型“window”的值上不存在任何内容"
我可以通过将 MyNamespace
声明为环境变量并删除 window
显式性来使代码工作,但我不想这样做。
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
如何保留window
并使TypeScript不报错?
顺带一提,我发现很有趣的是TypeScript会抱怨,因为它告诉我window
是any
类型,而any
类型可以包含任何东西。