在typescript 2
中,window
对象的类型为Window
- 一个接口。
我的代码使用OfflineAudioContext
,这是一个可通过打字稿不知道的window
对象访问的类:
let offlineCtx = new window.OfflineAudioContext(2,44100*40,44100);
//TS Error: Property 'OfflineAudioContext' does not exist on type 'Window'
代码被转换并运行没有问题,但我想摆脱这个错误。是否可以在自定义Window
中添加d.ts
类型或以其他方式解决我的问题?
答案 0 :(得分:1)
您可以向现有类型添加声明,这些声明包含在文档的Declaration Merging part中。
在您的情况下,您可以这样做:
type OfflineAudioContextConstructor {
new (num1: number, num2: number, num3: number): OfflineAudioContext;
}
interface Window {
OfflineAudioContext: OfflineAudioContextConstructor;
}