在JavaScript中更新对象的多个值

在JavaScript中更新对象的多个值,javascript,Javascript,给定对象 var myObject = { label: 'foo', name: 'bar', id: 12 }, 如果我想更改多个值,我将执行以下操作: myObject.label = "bar"; myObject.name = "foo"; 当更新大型数据集时,它会使代码变得非常块状。有没有更简洁的方法 比如: 这很好: var myObject={ 标签:“foo”, 名称:'酒吧', 身份证号码:12 } 赋值(myObject,{label:'Tes

给定对象

var myObject = {
    label: 'foo',
    name: 'bar',
    id: 12
},
如果我想更改多个值,我将执行以下操作:

myObject.label = "bar";
myObject.name = "foo";
当更新大型数据集时,它会使代码变得非常块状。有没有更简洁的方法

比如:

这很好:

var myObject={
标签:“foo”,
名称:'酒吧',
身份证号码:12
}
赋值(myObject,{label:'Test',name:'Barbar'})

console.log(myObject)
除了
对象.assign
之外,还可以使用对象排列操作符:

var myObject={
标签:“foo”,
名称:'酒吧',
身份证号码:12
};
myObject={…myObject,标签:'baz',名称:'qux'};
console.log(myObject);
//或者,如果更新包含在自己的对象中:
var myUpdate={
标签:“某物”,
姓名:'其他'
}
myObject={…myObject,…myUpdate}

console.log(myObject)
Object.assign
不同,它实际上并不“更新”对象,而是生成一个全新的对象,因此如果
myObject
被别名化,则原始版本将保持可见,不变。这可能没问题,也可能没问题。如果希望保持Vue.js的反应性,建议使用状态中的Vuex对象。
myObject.({label: 'foo'}, {name: 'bar'});