次のコードを検討してください。
var x = 0;
var o = {};
function getter() {
return x;
}
Object.defineProperty(o, "y", {
get: getter,
set: function (y) {
x = y;
Object.defineProperty(o, "y", {
get: getter
});
},
configurable: true
});
o.y
私の目的は、セッターが一度呼び出された後、セッターを削除してプロパティを構成不可にすることです。ただし、期待どおりに機能しません。
> x // 0
> o.y // 0
> o.y = 1 // 1
> x // 1
> o.y // 1
> o.y = 2 // 2
> x // 2
> o.y // 2
そのため、私のコードは期待どおりに機能せず、他の解決策は考えられません。したがって、この質問。