Angular2中的默认属性值-构造函数还是内联?
在angular2中创建对象类时,我应该内联初始化值还是在构造函数中初始化值?有区别吗Angular2中的默认属性值-构造函数还是内联?,angular,oop,typescript,constructor,Angular,Oop,Typescript,Constructor,在angular2中创建对象类时,我应该内联初始化值还是在构造函数中初始化值?有区别吗 export class Foo { id: string; name: string = ''; url: string = ''; } vs 初始化内联属性更简洁,并使属性的默认值与其声明更符合上下文 在构造函数中初始化属性允许您在初始化属性时利用构造函数参数。您还可以将声明顺序与值的初始化顺序分开(例如,在一个属性的起始值依赖于另一个属性的情况下) 在不需要构造函数所提供的灵活性的情况下,
export class Foo {
id: string;
name: string = '';
url: string = '';
}
vs
初始化内联属性更简洁,并使属性的默认值与其声明更符合上下文 在构造函数中初始化属性允许您在初始化属性时利用构造函数参数。您还可以将声明顺序与值的初始化顺序分开(例如,在一个属性的起始值依赖于另一个属性的情况下)
在不需要构造函数所提供的灵活性的情况下,您应该使用哪一个在很大程度上取决于个人的风格偏好。这两者之间生成的JS没有区别。在编译TypeScript时,编译器只在构造函数中内联初始化值
在这里试一试:这个问题完全是关于TypeScript的,而不是关于angular2的。
export class Foo {
id: string;
name: string;
url: string;
constructor() {
this.name = '';
this.url = '';
}
}