不能用“新”与它的类型的表达式缺少一个电话或构建签名(Cannot use 'new'

2019-09-29 07:14发布

我如何得到错误停在我的console.log?

不能用“新”与它的类型没有一个电话或构建签名的表达式。

var audioContext = new window.AudioContext();

为做到这一点的唯一途径?

    var AudioContext = <any>window.AudioContext || <any>window.webkitAudioContext;
    var audioContext = new AudioContext();

Answer 1:

默认情况下,这些类型的全球性的API中内置的打字稿没有定义Window界面。 但是你可以通过声明decalre它的窗口合并就像这样:

declare namespace window {
    const AudioContext:{
        new():AudioContext;
    }
}

那么你应该能够正常使用,如:

var audioContext = new window.AudioContext();


文章来源: Cannot use 'new' with an expression whose type lacks a call or construct signature