我想构建一个由键控对象组成的对象。
为什么展开运算符不按如下方式组合?相反,它只保留第二个对象。
let a = {
key1: {
floo: 'blar'
}
}
let b = {
key2: {
floo: 'blar'
}
}
console.log(...a, b);
最重要的是,请告诉我正确的方法!
谢谢
最佳答案
应该是
console.log({...a, ...b});
上面将合并两个对象,并分别使用 key1
和 key2
创建一个新对象。另请注意,对象的展开运算符的工作方式与 Object.assign()
不同。确实如此。
请注意,合并的对象只是一个引用。例如,修改对象的值,如
a.key1.floo = 'someotherval';
将改变a
对象并反射(reflect)在合并的对象中。
欲了解更多信息,请参阅Object Literals中的传播部分。
关于javascript - es6展开运算符不组合键控对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560448/