《面向Web开发人员的专业JavaScript®第三版》一书说:
此外,一旦将某个属性定义为不可配置,就无法再次对其进行配置。任何尝试调用Object.defineProperty()并更改除writable之外的任何属性的操作都会导致错误。
'use strict';
var obj = {};
Object.defineProperty(obj, 'key', {
value:'static'
});
Object.defineProperty(obj, 'key', {
writable: true,
});
我在上面编写了一个代码段,但它引发了错误。这本书说我可以重新定义可写属性。为什么会导致错误?
为什么会导致错误?
MDN说:
如果属性是不可配置的,
writable
则只能将其属性更改为false
。
因此,书中的陈述不够精确:您可以更改writable
不可配置的属性,而只能从true
to更改false
,而不能以相反的方式更改,这正是您要尝试的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句