Javascript Objekteigenschaften mit Wertetyp im Prototyp setzen? [geschlossen]

Ich habe immer Eigenschaften mit einem Werttyp im Prototyp des Objekts festgelegt, da diese nicht bei jeder Erstellung des Objekts initialisiert werden müssen.

Seitdem habe ich einige Fehler behoben und festgestellt, dass, wenn sich der Wert dieser Prototyp-Eigenschaft jemals ändern wird, dem Objekt eine neue Eigenschaft zugewiesen wird und der Prototyp beibehalten wird.

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}

Wenn Sie also wissen, dass sich der Wert der Prototypeigenschaft wahrscheinlich ändert, ist es dann ein echter Gewinn, sie in den Prototyp einzufügen und davon zu profitieren, dass sie bei der Objekterstellung nicht initialisiert werden muss?

Was ich meine ist, wenn es sich in einen anderen Wert ändert, muss der neue Wert trotzdem dem vorhandenen Objekt zugewiesen werden und verliert den anfänglichen Vorteil, ihn überhaupt in den Prototypen zu setzen! Außerdem haben Sie jetzt 2 Eigenschaften für dasselbe Objekt und eine für den Prototyp.

Es heißt bei Google-Entwicklern, dass dies der Weg ist, aber ich bin mir nicht so sicher.

Wann sollten Werttypeigenschaften im Prototyp festgelegt werden und gibt es einen echten Leistungsgewinn, wenn Sie wissen, dass sich der Wert trotzdem ändern wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage