1

1 番目の例はコンパイルされるのに、2 番目の例では「指定されたパラメータが呼び出しターゲットの署名と一致しない」というメッセージが表示されるのはなぜですか?

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: ''}]});
4

2 に答える 2

2

これはコンパイラのバグでした。修正されました。修正が含まれる次のリリースは 0.9.1.0 です。

于 2013-08-05T19:55:37.470 に答える