我发现this文章非常有趣,但当我尝试扩展像window
这样的全局变量时,它对我没有帮助。
Test.ts
window.test = {}; //ERROR: Property 'test' does not exist on type 'Window'.
(function (test)
{
//do stuff
} (window.test)); //Build: Property 'test' does not exist on type 'Window'
错误讯息:
错误:'Window'类型中不存在属性'test'。
我该如何解决这个问题?
答案 0 :(得分:1)
它被称为Declaration Merging:
interface Window {
test(): void;
}
window.test = function() {
// do what ever
}
如您所见,您需要在Window
接口中声明新方法,然后在添加实际实现时编译器不会抱怨。