用法:
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。
var nameObj = {name:"sun"}
var ageObj = {age: 18}
Object.assign(nameObj, ageObj)
console.log(nameObj) // {name: "sun", age: 18}
Object.assign()方法的第一个参数是目标对象,后面的参数都是源对象。
注意:如果目标对象与源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性。如下:
var oldObj = {name:"sun"}
var newObj = {name:"baozi", age: 18}
Object.assign(oldObj, newObj)
console.log(oldObj)
// {name: "baozi", age: 18}
还要注意的是:
如果该参数不是对象,则object会先讲其先转成对象,但是由于undefined和null无法转成对象,所以如果它们作为参数,就会报错。
但是如果undefined和null,不在目标对象中出现,就会跳过,不会报错。