我有一个关于‘可配置’的问题
如果我打字
var o = {x:1}
Object.getOwnPropertyDescriptor(o, 'x'){值: 1,可写:真,可枚举:真,可配置:真}
Object.defineProperty(o, 'x', {configurable: false});
Object.getOwnPropertyDescriptor(o, 'x'){值: 1,可写:真,可枚举:真,可配置:假}
我在“JavaScript -权威指南”第6-7章中研究过,它说:
如果属性不可配置,则无法更改其可配置或可枚举属性。
我想知道有什么方法可以将configurable重置为true吗?还是一个无聊的问题?(在任何情况下都不会发生)
发布于 2021-10-23 02:18:35
如果它是false,则无法将其设置为true。
var o = {x:1};
Object.defineProperty(o, 'x', {
configurable: false
});
Object.defineProperty(o, 'x', {
configurable: true
}); // throws a TypeError您只能创建一个新的对象来替换不可配置的object.Let,不可配置的对象通过垃圾收集从内存中删除。
在某些情况下,您可以将对象设置为不可配置,以确保其他人不能更改是否符合set。
例如,如果您发现Vue.js运行很长时间的性能问题可能是一个复杂对象附加到Vue实例,您可以设置复杂对象不可配置以避免Vue.js.Of课程观察,更好的方法是不要将复杂对象附加到Vue实例。
https://stackoverflow.com/questions/47118821
复制相似问题