gpt4 book ai didi

javascript - 为什么 object.defineproperty 不将属性添加到对象?

转载 作者:行者123 更新时间:2023-11-30 15:30:44 24 4
gpt4 key购买 nike

我正在使用 es6 语法。为什么属性 d 添加到对象 b,但是当我使用 Object.defineproperty 时,属性 c 没有添加到对象 b ?

这是我的代码

var a = {
a: 1
}
var b = {
a: 5,
b: 6
}

b['d'] = 33
Object.defineProperty(b, 'c', {
value: 'eee'
})

var t = {}
Object.assign(t, a, b)
console.log(t)

https://es6console.com/iz8m4ux1/

最佳答案

Object.assign仅复制可枚举自己的属性。

Object.defineProperty定义不可枚举的属性,除非描述符覆盖 enumerable 的默认值 (false)。

var a ={a:1}
var b={a:5,b:6}
b['d']=33
Object.defineProperty(b,'c',{
value:'eee',
enumerable: true
})
var t ={}
Object.assign(t,a,b)
console.log(t)

关于javascript - 为什么 object.defineproperty 不将属性添加到对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279930/

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