当作为构造函数调用的一部分使用时,Typescript接口的行为与常规函数不同?

当作为构造函数调用的一部分使用时,Typescript接口的行为与常规函数不同?,typescript,Typescript,为什么第一个示例编译而第二个示例生成“提供的参数与调用目标的任何签名都不匹配?” 这是编译器中的一个bug。已经修好了;下一个版本是0.9.1.0。我要添加的唯一一点是,如果您为东西创建一个接口,它将工作: interface Foo { s: string; } interface Stuff { stuff: Foo[]; } // example 1: function abc(p: Foo[]) { } // ok abc([{s: ''}]); //

为什么第一个示例编译而第二个示例生成“提供的参数与调用目标的任何签名都不匹配?”


这是编译器中的一个bug。已经修好了;下一个版本是0.9.1.0。

我要添加的唯一一点是,如果您为
东西创建一个接口,它将工作:

interface Foo {
    s: string;
}

interface Stuff {
    stuff: Foo[];
}

// example 1:
function abc(p: Foo[]) {    
}

// ok
abc([{s: ''}]);


// example 2:
class Blah {
    constructor(p: Stuff) {
    }
}

var obj = new Blah({stuff: [{s: ''}]});

interface Foo {
    s: string;
}

interface Stuff {
    stuff: Foo[];
}

// example 1:
function abc(p: Foo[]) {    
}

// ok
abc([{s: ''}]);


// example 2:
class Blah {
    constructor(p: Stuff) {
    }
}

var obj = new Blah({stuff: [{s: ''}]});