Предоставить доступ к свойствам объекта при вызове метода другого объекта

Есть динамически создаваемый объект:

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

→ Ссылка