在Javascript严格模式下
不允许删除不可删除的属性
为了确保不删除这样一个不可删除的属性,如何确定属性X是可删除的,属性Y是不可删除的
它背后的概念是......?
这背后的概念是......?
属性属性.configurable
属性设置为的每个属性false
都不能为delete
d(在sloppy模式下无声地失败并以严格模式抛出).
如何判断一个属性是否可删除?
您可以使用该Object.getOwnPropertyDescriptor()
函数作为对象访问属性:
var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable;
请注意,这只适用于自己的属性obj
,而不是继承的属性; 对于那些你将不得不在相应的原型上调用该函数.