JavaScript delete 操作符:返回值及使用场景
当使用 'delete' 操作符来删除一个对象的属性时,它会返回一个布尔值。如果删除成功,返回 'true';如果删除失败,返回 'false'。
删除成功的情况:
- 对象拥有该属性,并且该属性不是不可配置的(configurable)。
删除失败的情况:
- 对象没有该属性。
- 该属性是不可配置的。
示例:
const myObj = { name: 'John', age: 30 };
delete myObj.name; // 返回 true
console.log(myObj); // { age: 30 }
delete myObj.age; // 返回 true
console.log(myObj); // {}
const myObj2 = Object.freeze({ name: 'Jane', age: 25 }); // 对象被冻结,属性不可配置
delete myObj2.name; // 返回 false
console.log(myObj2); // { name: 'Jane', age: 25 }
注意:
- 'delete' 操作符不会释放内存。即使属性被删除,它仍然可能会占用一些空间。
- 'delete' 操作符只能删除对象属性,不能删除变量或函数。
原文地址: https://www.cveoy.top/t/topic/bPKy 著作权归作者所有。请勿转载和采集!