gpt4 book ai didi

javascript - 设置可配置 : false is not working

转载 作者:行者123 更新时间:2023-11-30 12:46:33 26 4
gpt4 key购买 nike

我正在尝试为我的对象的属性显式设置 configurable: false 并期望这不应该允许从我的对象中删除该属性但有些它似乎不像我的那样工作属性仍在被删除。这里有什么问题?

我在做什么

var emp = {
name: 'Rojer',
}

Object.defineProperty(emp, 'id', {
configurable : false,
value : 5100
});

delete emp.id;

for (p in emp) {
document.write('<br/>' + emp[p]);
}

结果

现在它只打印 name 属性的值。

我期待

虽然它应该通过忽略 delete emp.id; 语句来打印 idname

最佳答案

问题不在于 configurable 属性:问题在于您需要将 enumerable 设置为 true:

Object.defineProperty(emp, 'id', {
configurable : false,
enumerable : true,
value : 5100
});

enumerable 默认为 false,这意味着新变量 (id) 不会出现在 for/in 循环中,这就是您看不到它的原因.

关于javascript - 设置可配置 : false is not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326443/

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