gpt4 book ai didi

javascript - 如何将对象传播到 JavaScript 中的类属性中

转载 作者:行者123 更新时间:2023-12-04 16:50:53 24 4
gpt4 key购买 nike

基本上这就是我想要完成的。

class Person {
constructor (obj) {
this.first = ''
this.last = ''
this.age = ''

if (obj) {
Object.assign(this, ...obj)
}
}
}

const a = new Person()
console.log('Not spreading: ', a)

const b = new Person({ first: 'Alex', last: 'Cory', age: 27 })
console.log('Spreading: ', b)


有没有办法传播这样的对象来填充一个类?

最佳答案

如果您使用 Object.assign ,您不使用扩展符号;只需删除 ... :

class Person {
constructor (obj) {
this.first = ''
this.last = ''
this.age = ''

if (obj) {
Object.assign(this, obj) // <============ No ...
}
}
}

const a = new Person()
console.log('Not spreading: ', a)

const b = new Person({ first: 'Alex', last: 'Cory', age: 27 })
console.log('Spreading: ', b)


有一个 proposal (目前处于第 3 阶段,因此很可能在 ES2018 中,并且受到转译器的广泛支持),它确实在对象初始化程序中传播对象属性,但这不适用于对象已经存在的情况。

关于javascript - 如何将对象传播到 JavaScript 中的类属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46273256/

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