最佳实践课程成员初始化

时间:2019-06-26 08:36:41

标签: angular typescript rxjs observable

当我上课时:

import {Subject} from "rxjs";

export class MyClass {
  protected subject: Subject<string>;
}

TypeScript 中更好的做法是在构造函数中初始化成员subject,例如:

export class MyClass {
  protected subject: Subject<string>;

  constructor() {
    this.subject = new Subject<string>();
  }
}

或内联在类主体中,例如:

export class MyClass {
  protected subject: Subject<string> = new Subject<string>();
}

注意

在这种情况下,内联初始化显然仅适用于诸如Subject之类的导入类,不适用于仅在构造函数中存在的注入类。

编辑

Angular Style Guide不包含此部分。

1 个答案:

答案 0 :(得分:4)

没关系。这两个代码段都将完全转换为相同的代码

export class MyClass {
    constructor() {
        this.subject = new Subject();
    }
}