Предоставить доступ к свойствам объекта при вызове метода другого объекта
Есть динамически создаваемый объект:
obj = new N.make();
После создания присваиваю объекту несколько функций:
obj.func = function() {
...
}
Хочу описать эти функции в другом объекте, чтобы не захламлять код, но нужен доступ к свойству this этого динамического объекта obj из того места, где они описаны. Как такое реализовать? Что-то типа:
obj = new N.make();
obj.func = virtual.func;
...
virtual = {
func: function() {
this... > Здесь нужен доступ к свойствам объекта "obj"
}
}
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Насколько я понимаю, ничего особенного делать не нужно: this определяется при вызове функции, а не при создании:
const obj = { foo: 42 };
const functions = { logFoo() { console.log(this.foo); } };
obj.logFoo = functions.logFoo;
obj.logFoo(); // 42