在TypeScript 1.8中,以下由初始化程序组成的代码块是否为合法语法是否有任何理由:
Product Detail Page
...但是下面的代码块不是?
class A
{
public textField: string;
}
var instanceOfClass = new A
{
textField = "HELLO WORLD"
};
var arrayCollection = new A[]
{
new A(), new A()
};
TypeScript允许您初始化数组和对象似乎很奇怪,但您无法在数组初始化器中嵌套对象初始化器。
答案 0 :(得分:0)
这不是有效的打字稿语法:
class A {
public textField: string;
}
var instanceOfClass = new A {
textField = "HELLO WORLD"
};
编译器抱怨:
找不到姓名' textField'
如果要在实例化时设置成员值,则只需将其作为构造函数参数传递:
class A {
public textField: string;
constructor(textField: string) {
this.textField = textField;
}
}
var instanceOfClass = new A("HELLO WORLD");
或简短版本:
class A {
constructor(public textField: string) {
this.textField = textField;
}
}