在 typescript 中,我们经常会遇到需要给 window 添加全局变量的情况,但是直接 window.xxx 会提示:window上不存在属性 “xxx”,那么我们如何定义呢?
想当然,我们可以在 global.d.ts 文件中定义如下代码:
declare const Window: {
myProp: any;
}
但是这样会引出新的问题,提示 window 已经被声明过了。

其实我们可以利用interface的 merge 特性,只需再次定义 window 的接口即可。
interface Window {
myProp: any;
}