我在打字稿以下類:如何在TypeScript中實例化,初始化和填充數組?
class bar {
length: number;
}
class foo {
bars: bar[] = new Array();
}
然後我有:
var ham = new foo();
ham.bars = [
new bar() { // <-- compiler says Expected "]" and Expected ";"
length = 1
}
];
有沒有辦法做到這一點的打字稿?
UPDATE
我想出了另一種解決方案由具有一套方法返回本身:
class bar {
length: number;
private ht: number;
height(h: number): bar {
this.ht = h; return this;
}
constructor(len: number) {
this.length = len;
}
}
class foo {
bars: bar[] = new Array();
setBars(items: bar[]) {
this.bars = items;
return this;
}
}
所以你可以如下初始化:
var ham = new foo();
ham.setBars(
[
new bar(1).height(2),
new bar(3)
]);
在TypeScript中使用類似於C#的對象初始值設定項將非常有用。 '[{length:1}]'不是bar的實例,但如果支持,'new bar(){length = 1}'將是bar的實例。也許我們應該爲此提出功能建議? – orad