为什么第一个示例编译但第二个示例生成“提供的参数与调用目标的任何签名都不匹配?”
interface Foo {
s: string;
}
// example 1:
function abc(p: Foo[]) {
}
// ok
abc([{s: ''}]);
// example 2:
class Blah {
constructor(p: {stuff: Foo[]}) {
}
}
// not ok: Supplied parameters do not match any signature of call target
var obj = new Blah({stuff: [{s: ''}]});