定义:
delete
操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。
语法:
delete expression expression 的计算结果应该是某个属性的引用,例如:
delete object.property delete object['property']
参数:
object
- 对象的名称,或计算结果为对象的表达式。
-
property
异常:
在严格模式下,如果是属性是一个自己不可配置的属性,会抛出TypeError
。
- 不可设置的(Non-configurable)属性不能被移除。这意味着像
Math
,Array
,Object
内置对象的属性以及使用Object.defineProperty()
方法设置为不可设置的属性不能被删除。
不可配置属性:
当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。在严格模式下会抛出语法错误(SyntaxError
)。