Object.assign() --- 是浅拷贝
lodash的_.merge() --- 是深拷贝
一、Object.assign() --- 是浅拷贝
掘金---详细解释
总的来说:拷贝到第一级别属性为深拷贝,第二层级以后为浅拷贝,所以定性为浅拷贝。
二、lodash的_.merge() --- 是深拷贝
根据lodash官方中文网的描述
_.merge(object, [sources])
如果sources属性为undefined,该属性将被跳过。数组和普通的对象会递归合并,其他对象和值会被直接分配覆盖。源对象从左到右分配,后续的来源对象属性会覆盖之前分配的属性。
末尾:了解js深度拷贝,可以看这里📎js深度拷贝
网友评论