【发布时间】:2015-04-24 18:40:08
【问题描述】:
删除操作符从对象中删除一个属性。
返回值:
如果属性是自己的不可配置的,则以严格模式抛出 属性(在非严格情况下返回 false)。在所有其他情况下返回 true 案例。
有些东西我不明白:
- 什么是不可配置属性?
-
当我在 chrome 控制台中运行此代码时,它返回 true:
var a={'b':'b'}; delete a.b; //it return true
我认为 Chrome 控制台以非严格模式运行代码。如果是这种情况,那么根据 MDN,它应该返回 false。为什么返回true?
- 根据 MDN,
delete运算符在所有其他情况下都返回 true。其他情况是什么?我知道一种情况(具有可配置属性的严格模式)。还有其他情况吗?
【问题讨论】:
-
我读该语句的方式是,它会在严格模式下抛出异常,如果在非严格模式下无法删除,则返回 false。
标签: javascript