Установить класс существующего объекта - PullRequest
0 голосов
/ 06 января 2020

У меня есть существующий объект, который я не могу заменить, но я хочу настроить его функциональность, предоставив ему несколько новых методов. Они определены в классах. Таким образом, я хотел бы установить прототип этого объекта для данного класса. Я пытался Object.setPrototypeOf(obj, clazz), но это не похоже на работу. Я закончил тем, что работал следующим образом:

function _setClassOf(obj, clazz) {
    const fooInstance = new clazz();
    Object.setPrototypeOf(obj, Object.getPrototypeOf(fooInstance));
}

Недостаток в том, что конструктор данного класса может иметь побочные эффекты, которые я не хочу выполнять в этом ситуация.

Есть ли лучший способ установить класс существующего объекта?

...