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