我想调试一下,找出由object.defineProperty
创建的不可配置变量在哪里被更改了,特别是在chrome中。
我知道我可以通过使用object.defineProperty
为它定义一个访问器来调试由赋值创建的普通变量。
obj._someProp = obj.someProp;
// overwrite with accessor
Object.defineProperty(obj, 'someProp', {
get: function () {
return obj._someProp;
},
set: function (value) {
debugger; // sets breakpoint
obj._someProp = value;
}
});
但是我无法在object.defineProperty
创建的不可配置属性上执行此操作,因为这会引发TypeError: can't redefine non-configurable property
异常。