Angular2 中的默认属性值 - 构造函数或内联



在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/

内联初始化属性更简洁,并且在其声明中将属性的默认值保留在上下文中。

初始化

构造函数中的属性允许您在初始化属性时利用构造函数参数。您还可以将声明顺序与初始化值的顺序分开(例如,如果一个属性的起始值取决于另一个属性的起始值(。

在不需要构造函数为您提供的灵活性的情况下,您应该使用哪一个在很大程度上取决于个人风格偏好。

最新更新