@bybyby

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

Если мне нужен только один экземпляр на всю программу, удобно этот экземпляр писать в свойство класса и в дальнейшем использовать его методы. По каким либо принципам так делать нельзя? Или правильнее создавать каждый раз новый экземпляр? Например, у меня класс при инициализации создает элемент и вставляет ее в разметку, создавать этот элемент мне требуется только один раз.

class A {
	constructor() {}

	methodA() {
		this.b.methodB();
	}

	init() {
		this.b = new B();
		this.methodA();
	}

}

class B {
	constructor() {}

	methodB() {
           console.log('methodB');
	}
}
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Да, допустимо.
Только это свойство объекта а не класса. Когда вы сделали
foo = new A() // создался новый объект, экземпляр класса A.
bar = new A() // создался еще один новый объект, экземпляр класса A.
// Когда вы делаете
foo.init() // создался B, записался в свойство объекта foo, но при этом у bar в этом свойстве ничего нет, потому что ему еще не делали init
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы