Почему первый пример компилируется, но второй генерирует «Поставляемые параметры не соответствуют какой-либо сигнатуре целевого вызова?»Интерфейсы дескрипторов ведут себя по-разному, когда используются как часть вызова конструктора против регулярной функции?
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: ''}]});