Плохо ли создавать экземпляр класса в конструкторе с новым ключевым словом? - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть класс в Javascript, и мне нужен один объект в этом классе из другого класса. Мой вопрос, который лучше?

создать экземпляр класса из определения класса или создать в конструкторе?

пример кода:

const b = new B();

class A {
  // and then use b
}
// or 
class A {
 constructor() {
 const b = new B();
 }
}

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Какой бы класс ни контролировал время жизни других объектов, создающих эти объекты.

В вашем примере, если A управляет временем жизни этого конкретного экземпляра B, тогда можно создать B в конструкторе.

Однако, если другой класс управляет временем жизни (или владеет) объекта из B, то экземпляр B должен быть передан в A в конструкторе.

Тест прост: класс, отвечающий за время жизни других объектов, отвечает за создание этих объектов.

0 голосов
/ 01 сентября 2018

Если они оба класса, вы можете просто расширить класс, который вам нужен.

class b {}

class a extends b {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...