11

在 Javascript 严格模式下

不允许删除不可删除的属性

为了确保不删除这样一个不可删除的属性,如何确定属性 X是可删除的,而属性 Y是不可删除的

其背后的概念是……?

4

1 回答 1

11

这背后的概念是……?

属性属性。每个configurable属性设置为falsecannot be deleted 的属性(在草率模式下静默失败并在严格模式下抛出)。

如何判断一个属性是否可删除?

您可以使用该Object.getOwnPropertyDescriptor()函数将属性作为对象访问:

var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable;

请注意,这仅适用于 的自己的属性obj,而不是继承的属性;对于那些你将不得不在各自的原型上调用函数。

于 2015-12-18T14:29:22.910 回答