最佳答案
我在下面玩 javascript 代码。了解 Object.defineProperty()和我面临的一个奇怪的问题与它。当我尝试在浏览器或 VS 代码中执行以下代码时,输出不如预期,而当我尝试调试代码时,输出是正确的
当我调试代码并计算配置文件时,我可以看到对象中的 name & age属性
但是在输出时,它只显示 name属性
//Code Snippet
let profile = {
name: 'Barry Allen',
}
// I added a new property in the profile object.
Object.defineProperty(profile, 'age', {
value: 23,
writable: true
})
console.log(profile)
console.log(profile.age)
现在这里的预期产出应该是
{name: "Barry Allen", age: 23}
23
但我得到的输出是。
注意,我能够访问事后定义的 age属性。
我不知道为什么 console.log()会有这样的表现。
{name: "Barry Allen"}
23