gpt4 book ai didi

javascript - 如何删除 Javascript 对象属性?

转载 作者:可可西里 更新时间:2023-11-01 01:50:28 24 4
gpt4 key购买 nike

我正在尝试删除一个对象属性,它是另一个对象的浅拷贝。但是当我尝试删除它时出现了问题,它永远不会消失,而原始值会抛出预​​期的输出。

var obj = {
name:"Tom"
};

var newObj = Object.create(obj);
delete newObj.name;//It never works!

console.log(newObj.name);//name is still there

最佳答案

newObj 继承自 obj

您可以通过访问父对象来删除该属性:

delete Object.getPrototypeOf(newObj).name;

(改变父对象)

您也可以通过将值设置为 undefined 来隐藏它(例如):

newObj.name = undefined;

但是您不能删除 newObj 上的属性而不从父对象中删除它,因为在 prototype chain 中查找了原型(prototype)。直到找到为止。

关于javascript - 如何删除 Javascript 对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36644535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com