小编far*_*rre的帖子

与构造签名的接口不是类型检查

我一直在使用TypeScript中的构造签名接口,当下面的键入检查失败时,我变得有点困惑:

class Foo {
    constructor () {
    }
}

interface Bar {
    new(): Bar;
}

function Baz(C : Bar) {
    return new C()
}

var o = Baz(Foo);
Run Code Online (Sandbox Code Playgroud)

类型错误是:

提供的参数与调用目标的任何签名都不匹配:构造类型'new()=> Foo'和'Bar'的签名不兼容:类型'Bar'需要构造签名,但Type'Foo'缺少一个(C:Bar) )=>吧

Foo的构造函数的类型是()=> Foo,这就是我认为Bar所说的.我在这里错过了什么吗?

typescript

10
推荐指数
2
解决办法
9319
查看次数

标签 统计

typescript ×1