delete 运算符 删除属性
最后更新:2026-09-09
delete 运算符 删除属性
delete 删除对象的属性。成功返回 true。对数组使用会留下空洞(不推荐)——用 splice 代替。
| 分类 | 运算符 |
|---|---|
| ES 版本 | ES1 |
📝 语法
delete 对象.属性名;
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
{ name: '张三', age: 25 }
false
[ 1, <1 empty item>, 3 ]
3
⚠️ 警告 delete 对数组使用会留下空洞且 length 不变——用 splice 删数组元素。
ℹ️ info 删除不存在的属性也返回 true——不能通过返回值判断是否删除了。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| delete 运算符 | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关运算符
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qdelete 能删除变量吗?
A不能——只能删除对象属性。变量用赋值 undefined 或让作用域管理。
Qdelete 和赋值 undefined 的区别?
Adelete 完全移除属性(in 返回 false);赋值 undefined 属性还在(in 返回 true)但值为 undefined。
Qdelete 数组元素的正确方法?
A用 splice(index, 1) 删除——不会留空洞且 length 会更新。