и класс B. в классе А есть массив items, в котором лежат инстансы B. Требуется возможность из B вызывать методы и иметь доступ к свойствам А. Самое простое, что мне кажется:
class A {
items = [];
addItem() {
const newItem = new B(this);
this.items.push(newItem);
}
someLogic() {…}
}
class B {
constructor(a) {
this.a = a;
this.a.someLogic();
}
}
передавать this в конструкторе В и делать что-то вроде this.a = a. Но так же есть вариант экспортировать только несколько методов. То есть, вместо new B(this); делать new B({someLogic: () => this.someLogic()}. Интересует вопрос памяти и циклических ссылок. Задавался кто таким вопросом? Как лучше поступить? Спасибо.
что-то с композицией не так
у нас же gc, а не подсчёт ссылок, с циклическими ссылками проблем быть не должно
Обсуждают сегодня