☘️lodash的merge与Object.assgin的区别

2019-08-09  本文已影响0人  索隆萨克

Object.assign() --- 是浅拷贝

lodash的_.merge() --- 是深拷贝

一、Object.assign() --- 是浅拷贝

掘金---详细解释
总的来说:拷贝到第一级别属性为深拷贝,第二层级以后为浅拷贝,所以定性为浅拷贝。

二、lodash的_.merge() --- 是深拷贝

根据lodash官方中文网的描述
_.merge(object, [sources])

如果sources属性为undefined,该属性将被跳过。数组和普通的对象会递归合并,其他对象和值会被直接分配覆盖。源对象从左到右分配,后续的来源对象属性会覆盖之前分配的属性。

末尾:了解js深度拷贝,可以看这里📎js深度拷贝

上一篇 下一篇

猜你喜欢

热点阅读