在构造函数中实例化变量和直接在类+ Typescript / Angular中有什么区别

时间:2017-07-05 06:48:23

标签: javascript angular typescript

export class ReactiveFormOne {
  studentA: Student = new Student();

  studentB: Student;

  constructor (){
    this.studentB = new Student();
  }
}

studentAstudentB之间的根本区别是什么?

1 个答案:

答案 0 :(得分:2)

这些实际上完全相同。如果没有super调用,则在第一次super调用之后将类属性初始值设定项转换为等效赋值,或者构造函数的第一个语句。

我建议在构造函数体中放置依赖于顺序的初始化,因为将来的维护者通常不太愿意在块中重新排序语句,但可能会例如重新排序在类体中声明的初始化属性以符合样式指南。