【JavaScript】 对象的属性-显式删除和隐式删除

在 JavaScript 中,对象的属性可以通过显式或隐式方式进行删除
显式删除是使用 delete,而隐式删除则是由于其他操作导致属性失效或不可访问

显式删除

显式删除是指使用 delete 操作符来移除对象的属性。示例:

const obj = {
    name: 'Alice',
    age: 25
};

delete obj.age; // 显式删除属性 age
console.log(obj); // { name: 'Alice' }

隐式删除

隐式删除通常指的是属性因某些操作而失效或变得不可访问,但并未使用 delete 操作符。常见的隐式删除情况包括:

  • 重新赋值为 undefined:
obj.age = undefined; // 属性仍然存在,但值为 undefined
  • 使用 Object.freeze()
Object.freeze(obj); // 冻结对象,无法新增或删除属性
  • 从原型链中删除属性: 如果属性被定义在原型链上,删除父对象的属性可能会影响子对象。
  • 对象的深拷贝: 将对象赋值给另一个变量时,可能不再引用原有属性。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值