Инициализация членов класса Best Practice - PullRequest
1 голос
/ 26 июня 2019

Когда у меня есть такой класс, как:

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, в данном случае, а не с внедренными классами, которые будут присутствовать только в конструкторе.

EDIT

Угловое руководство по стилю не содержит этой части.

1 Ответ

4 голосов
/ 26 июня 2019

Неважно. Оба фрагмента кода будут перенесены точно в один и тот же код, который

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