Javascript, устанавливающий свойства объекта с типом значения в прототипе? [закрыто]

Я всегда устанавливал свойства с типом значения в прототипе объекта, так как это останавливает их инициализацию при каждом создании объекта.

С тех пор я провел некоторую отладку и обнаружил, что если значение этого свойства прототипа когда-либо изменится, то объекту будет назначено новое свойство, а прототип останется на месте.

var o = function () {

};

o.prototype.x = 0;

o.prototype.setX = function(x) {
    this.x = x;
};

var obj = new o();
obj.setX(1);
console.log(obj);

// o {x: 1, x: 0, setX: function}

Поэтому мой вопрос: если вы знаете, что значение свойства prototype, вероятно, изменится, то есть ли реальная выгода в его установке в прототипе и получении выгоды от того, что его не нужно инициализировать при создании объекта?

Я имею в виду, что когда оно меняется на другое значение, новое значение должно быть в любом случае присвоено существующему объекту, теряя при этом первоначальное преимущество его установки в прототипе! Кроме того, теперь это означает, что у вас есть 2 свойства для одной и той же вещи - объекта и прототипа.

Он говорит разработчикам Google, что это способ сделать это, но я не уверен.

Когда следует устанавливать свойства типа значения в прототипе и есть ли реальный выигрыш в производительности, если вы знаете, что значение все равно изменится?

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

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