У меня есть существующий объект, который я не могу заменить, но я хочу настроить его функциональность, предоставив ему несколько новых методов. Они определены в классах. Таким образом, я хотел бы установить прототип этого объекта для данного класса. Я пытался Object.setPrototypeOf(obj, clazz)
, но это не похоже на работу. Я закончил тем, что работал следующим образом:
function _setClassOf(obj, clazz) {
const fooInstance = new clazz();
Object.setPrototypeOf(obj, Object.getPrototypeOf(fooInstance));
}
Недостаток в том, что конструктор данного класса может иметь побочные эффекты, которые я не хочу выполнять в этом ситуация.
Есть ли лучший способ установить класс существующего объекта?