Angular 2:声明和初始化变量的最佳方法

Angular 2:声明和初始化变量的最佳方法,angular,typescript,design-patterns,Angular,Typescript,Design Patterns,我正在学习Angular样式指南,但我有一个疑问,在组件中初始化变量的最佳方法是什么 例如,我声明了一个如下的变量: export class MyComponent implements OnInit { myModel: MyModel= new MyModel(); //... } export class MyComponent implements OnInit { myModel = new MyModel(); //... } 或者像这样: export

我正在学习Angular样式指南,但我有一个疑问,在组件中初始化变量的最佳方法是什么

例如,我声明了一个如下的变量:

export class MyComponent implements OnInit {

  myModel: MyModel= new MyModel();

  //...
}
export class MyComponent implements OnInit {

  myModel = new MyModel();

  //...
}
或者像这样:

export class MyComponent implements OnInit {

  myModel: MyModel= new MyModel();

  //...
}
export class MyComponent implements OnInit {

  myModel = new MyModel();

  //...
}
或者这个:

export class MyComponent implements OnInit {

  myModel: MyModel;

  constructor() {
    this.myModel = new MyModel();
  }

  //...
}
还是另一个最好的方法?
这是我正在读的内容。

第一种方法是多余的,即
“name”:type=newobjecttype()
已经指定了变量类型;
第二个很好,指定类中有一个公共变量。
第三个也很好,但请记住将变量绑定到类的实例

就我个人而言,我总是使用第二个。如果您使用as TextEditor-->Visual Studio代码,请下载插件TSlint,该插件非常适合在语法方面提供帮助


希望这有帮助

我不认为第二个是“正确的”。因为您没有类型信息。因此,您可以稍后为变量指定一个完全不同的类型

至于另外两个,我认为这取决于个人偏好,没有明确的风格指南

当我需要指定变量默认值或不允许更改它时,我使用第一个(您也可以添加只读标志)

其余的都是第三个。因此,如果不管是初始化还是模型引用多次更改都不重要


在您的示例中,由于您在构造函数中设置了值,我个人会选择第一个。

我个人会使用第一个。风格是clear@JoshuaFabillar但在《时尚指南》中并没有明确的规定。这就是我问的原因。