js Object.assign()函数以及深、浅拷贝

JavaScript012

js Object.assign()函数以及深、浅拷贝,第1张

object.assign():用于将源对象(source)中可枚举的属性复制到目标属性(target)中,并返回目标对象。

let a={a:1}let b={b:2}let c={c:3}

console.log(Object.assign(a,b,c))

//{ a: 1, b: 2, c: 3 }

浅拷贝:也叫引用拷贝,公用一块内存地址,一个改变另一个也改变;

深拷贝:创建新的内存地址保存值,与原对象完全独立。

深拷贝和浅拷贝只针对复杂的复杂的对象有差别;

注意:针对object.assign()而言,如果属性值是简单类型(number,string),通过object.assign({},src)得到的新对象是深拷贝对象;如果属性值为对象或其他引用类型,得到的新对象为浅拷贝对象。

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。

实际问题中我是做了map处理,变成返回多个obj,所以想着如何合并多个object

但最后发现,其实直接定义个全局 params ,然后在map方法里依次加到 params 里就好了.就不用考虑合并多个obj了

故上面的Object.assign 套用例子可以是