JavaScript如何删除属性及其值

JavaScript如何删除属性及其值

在JavaScript中,可以使用delete操作符来删除对象的属性及其值。delete操作符会从对象中移除指定的属性,如果删除成功,返回true;如果属性不存在或无法删除,返回false。

示例代码

javascript 复制代码
let obj = {
    name: "Alice",
    age: 25,
    city: "New York"
};

// 删除 'age' 属性
delete obj.age;

console.log(obj); // 输出: { name: "Alice", city: "New York" }

// 尝试删除不存在的属性
let result = delete obj.gender;
console.log(result); // 输出: true (即使属性不存在,delete 也会返回 true)

// 删除成功
result = delete obj.city;
console.log(result); // 输出: true
console.log(obj); // 输出: { name: "Alice" }

注意事项

  1. 不可配置的属性 :如果属性是不可配置的(即configurable为false),delete操作符无法删除该属性,并且会返回false。

    javascript 复制代码
    let obj = {};
    Object.defineProperty(obj, 'name', {
        value: 'Alice',
        configurable: false
    });
    
    let result = delete obj.name;
    console.log(result); // 输出: false
    console.log(obj.name); // 输出: "Alice"
  2. 全局变量和函数 :delete操作符不能删除使用var、let或const声明的变量或函数。

    javascript 复制代码
    var x = 10;
    console.log(delete x); // 输出: false
    
    function foo() {}
    console.log(delete foo); // 输出: false
  3. 数组元素 :虽然可以使用delete删除数组元素,但这会在数组中留下一个undefined的空位,而不会改变数组的长度。

    javascript 复制代码
    let arr = [1, 2, 3];
    delete arr[1];
    console.log(arr); // 输出: [1, undefined, 3]
    console.log(arr.length); // 输出: 3

总结

  • delete操作符用于删除对象的属性。
  • 如果属性不存在或无法删除,delete会返回true。
  • delete不能删除使用var、let或const声明的变量或函数。
  • 删除数组元素会留下undefined的空位,不会改变数组长度。

更多vue相关插件及后台管理模板可访问vue admin reference,代码详情请访问github

相关推荐
無名路人23 分钟前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
竹林8181 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
乘风gg1 小时前
别跟风 AI 副业,工程师最该学的是 AI Coding
前端·ai编程·claude
Frag0ut2 小时前
深度解析:Chrome 自启动与后台常驻服务的作用、关闭方法及利弊权衡
前端·chrome
OpsEye2 小时前
当企业不再只关心能不能调用模型,而是关心值不值得调用
javascript·ai编程
Amos_Web2 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架
YIAN2 小时前
从 SSE 流式到结构化输出:LangChain 三大 OutputParser 与 ToolCall 方案全实战
前端·langchain·node.js
FYKJ_20102 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
javascript·vue.js·spring boot·mysql·typescript·spark·express
YIAN2 小时前
从 SSE 流式原理到 LangChain 结构化输出:打字机效果与 JSON 解析全方案实战
前端·langchain
Moment3 小时前
如果你在做 RAG,可能会需要 pdf-inspector
前端·后端·面试