[latex]Mae govannen![/latex]
Das ist interessant, wenn ich o2.b vorher nämlich mit einem Wert belege verhält es sich anders:
Jepp, „Laura“ hat es ja bereits erkläret.
Kann mir das jemand erklären oder ein Stichwort nennen?
Zusätzlich: Molily hat das dahinterstehende Prinzip anhand des Glasplatten-Modells recht anschaulich dargestellt
Aus der Metapher geht leider nicht hervor, dass beim Überschreiben einer Eigenschaft der descriptor von etwaigen Namensvettern in der Prototype-Kette geerbt wird. Siehe hier und hier. Das ist insbesondere dann interessant, wenn configurable auf false gesetzt wurde.
var o1,o2;
o1 = {};
Object.defineProperty(o1,"a",{
set : function(val){ this.val = val + 1; },
get : function(){ return this.val; }
});
o1.a = 0;
console.log(o1.a); // 1
o2 = Object.beget(o1);
o2.a = 10;
log(o2.a);
console.log(o2.a); // 11