Object.assign(Obj1, obj2, ...)
Object.assign 可以用来对对象进行合并,参数一为目标对象,之后的参数为需要将其属性及值合并到目标对象中的对象,简单理解:将除去目标对象的其余对象中的属性与值合并到目标对象中,如目标对象中已存在属性或值,则直接将其替换,没有则添加, 参数位置越靠后,其优先级越高,即在除去目标对象的其余对象之间,存在相同属性不同值时,最终留下的为参数位置排在最后的对象的属性和值。
Object.assign() 返回值为合并之后的结果对象,其目标对象也会发生改变。
const Obj1 = {
name: "张三",
age: ""
}
const Obj2 = {
name: "李四",
age: 18,
sex: "男"
}
const Obj3 = {
name: "王五",
address: 'china'
}
const res = Object.assign(Obj1, Obj2, Obj3)
console.log("Obj1:", Obj1) // Obj1: { name: '王五', age: 18, sex: '男', address: 'china' }
console.log("Obj2:", Obj2) // Obj2: { name: "李四", age: 18, sex: '男' }
console.log("Obj3:", Obj3) // Obj3: { name: '王五', address: 'china' }
console.log("res:", res) // res: { name: '王五', age: 18, sex: '男', address: 'china' }