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

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

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

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

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

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

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

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

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

你可能感兴趣的:(☘️lodash的merge与Object.assgin的区别)