JavaScript 面试题
目录

JavaScript 中 delete 运算符的作用是什么?

· 约 3 分钟读完 · 第 339 / 507 章

推荐答案

delete 运算符用于删除对象的属性或数组的元素。它返回一个布尔值,表示删除操作是否成功。如果删除成功,返回 true;如果删除失败,返回 false。

本题详细解读

1. delete 运算符的作用

delete 运算符用于删除对象的属性或数组的元素。它不会直接释放内存,而是将属性或元素从对象或数组中移除。

2. 删除对象属性

当 delete 用于删除对象属性时,它会从对象中移除该属性。如果属性存在且可以被删除,delete 返回 true;如果属性不存在或不能被删除(例如,属性是继承的或不可配置的),delete 返回 false。

3. 删除数组元素

当 delete 用于删除数组元素时,它会将数组中的该元素设置为 empty,但不会改变数组的长度。删除后的数组元素位置会变为 empty,而不是 undefined。

4. 删除全局变量或函数

delete 不能删除使用 var、let 或 const 声明的变量或函数。它只能删除对象的属性。

5. 删除不可配置的属性

如果对象的属性是不可配置的(即 configurable 为 false),则 delete 操作会失败并返回 false。

6. 删除原型链上的属性

delete 不能删除从原型链继承的属性。