У меня есть объект o
с прототипом p
:
var p = {}
var o = Object.create(p)
Можно добавить свойство a
к объекту o
, а затем добавить установщик того же самогоимя для прототипа p
:
o.a = 1
Object.defineProperty(p, 'a', {set: function(value) {}});
console.log(o.a); // 1
Однако, если мы попытаемся добавить свойство после установщика, оно не добавляется к o
- вместо этого вызывается установщик:
Object.defineProperty(p, 'a', {set: function(value) {}});
o.a = 1
console.log(o.a); // undefined
Можно ли сначала определить установщик, но затем обойти его, чтобы добавить свойство a
непосредственно к o
?