Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
console.log(Object.assign({},target, source))//{a: 1, b: 4, c: 5}
console.log(target)//{ a: 1, b: 2 }
console.log(source)//{ b: 4, c: 5 }
//Object.assign方法的第一个参数是目标对象,后面的参数都是源对象
//如果目标对象和源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性。
Object.assign(undefined) // 报错 Cannot convert undefined or null to object
Object.assign(null) // 报错 Cannot convert undefined or null to object
注意:Object.assign方法实行的是浅拷贝、Object.assign拷贝得到的是这个对象的引用。这个对象的任何变化,都会反映到目标对象上面
主要用途:合并多个对象