作用:delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。
返回值:delete操作符具有返回值,返回值为布尔值,对于所有情况都是true,即使是删除不存在的属性也会返回true,但是也有例外的情况(返回false),如果属性是不可配置属性(对于不可配置属性的概念,可以参考Object. defineProperty,我第一次听说这个概念的时候也有点蒙圈), 在非严格模式下,返回false,在严格模式下则会抛出语法错误的异常。
具体使用:
- 对象属性不存在 (如果删除对象不存在的属性,delete无效,但是返回值仍然为true)
- 原型链上存在该同名属性(如果delete操作符删除属性成功,则该属性将永远不存在,但是该对象原型链上存在该同名属性,则该对象会从原型链上继承该同名属性。但和内存并无关联,内存管理并不是delete操作符可以操作的,而且一点关系也没有。)