Можно ли отменить Object.assign?

Я хотел бы использоватьObject.assign временно «обновить» объект новыми методами, а затем удалить эти методы, когда я закончу их использовать. Пример прояснит:

Скажем, у нас есть миксин, который позволяет нам вычислить среднее значение массива:

var ArrayUtilMixin = {
  avg() {
    let sum = this.reduce( (prev, v) => {return prev + v}, 0);
    return sum / this.length;
  }
};

Наш клиентский код использует это так:

let myArr = [0,3,2,4,88];
// now I am in a context where I want to average this array, 
// so I dynamically add the ability with Object.assign
Object.assign(myArr, ArrayUtilMixin);
let avg = myArr.avg();
// do some stuff here with the average
// now we're done, we want declutter the myArr object
// and remove the no longer needed avg() method

Object.unassign(myArr, ArrayUtilMixin);  // <-- CAN WE DO THIS SOMEHOW?

Есть ли способ сделать это? Если нет, то использую ли я не ту языковую функцию, которая мне действительно нужна - эту способность динамически добавлять и удалять методы объекта во время выполнения в зависимости от контекста.

Ответы на вопрос(1)

Ваш ответ на вопрос