object.assign笔记
基本用法 object.assign():方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target,然后返回目标对象,如果参数不是对象,则会转为对象,然后返回。有两个参数,第一个是目标对象,第二个是源对象。 const target = { a: 1 }; const source1 = { b: 2 }; const source2 = { c: 3 }; Object.assign(target, source1, source2); target // {a:1, b:2, c:3} 如果目标对象与源对象==有多个同名属性==,那么源对象的会覆盖目标对象的属性,后面的源对象属性会覆盖前面的源对象属性。 const target = { a: 1, b: 1 }; const source1 = { b: 2, c: 2 }; const source2 = { c: 3 }; Object.assign(target, source1, source2); target // {a:1, b:2, c:3} 由于undefined和null无法转成对象,所以如果它们作为参数或首参,就会报错。 Object.assign(undefined) // 报错 Object.assign(null) // 报错 如果非对象参数出现在源对象的位置