在angular2中创建对象类时,我应该内联初始化值还是在构造函数中初始化值?有区别吗?
export class Foo {
id: string;
name: string = '';
url: string = '';
}
与
export class Foo {
id: string;
name: string;
url: string;
constructor() {
this.name = '';
this.url = '';
}
}
两者之间生成的JS没有区别。编译 TypeScript 编译器时,只需将初始化的值内联引入构造函数。
在这里尝试一下:https://www.typescriptlang.org/play/
内联初始化属性更简洁,并且在其声明中将属性的默认值保留在上下文中。
初始化构造函数中的属性允许您在初始化属性时利用构造函数参数。您还可以将声明顺序与初始化值的顺序分开(例如,如果一个属性的起始值取决于另一个属性的起始值(。
在不需要构造函数为您提供的灵活性的情况下,您应该使用哪一个在很大程度上取决于个人风格偏好。