javascript - js高程中关于[[configurable]]
本文介绍了javascript - js高程中关于[[configurable]]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var person = {};
Object.defineProperty(person,"name",{
configurable:false,
value:"Aaron"
});
高程第三版里面:此时,再调用
Object.defineProperty()
方法修改除writable
之外的特性,都会导致错误
但是我修改了writable
,结果报错,如下:
var person = {};
Object.defineProperty(person,"name",{
configurable:false,
value:"Aaron"
});
Object.defineProperty(person,"name",{
writable:true
});
//Uncaught TypeError: Cannot redefine property: name
请问书上是不是有问题,还是我理解错了?
我的理解:
上面的例子中,通过Object.defineProperty()
定义name属性,[[writable]]
的是值是false
,再调用一次Object.defineProperty()
方法修改[[writable]]
的值为true
,所以报错,这样的吧?
解决方案
https://developer.mozilla.org...
如果一个属性的 configurable 为 false,则其 writable 特性也只能修改为 false。
我看到了这句话= =,试了一下,确实只能修改false
这篇关于javascript - js高程中关于[[configurable]]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文