Lodash 中 assign、extend、merge区别

一 Lodash 中 assign、extend、merge区别:(assign、extend、merge

相同之处

  • 都可以用来合并对象
  • 都会修改原来的对象 (如果原来的对象是作为函数的第一个参数的话)

不同之处

  • assign 函数不会处理原型链上的属性,也不会合并相同的属性,而是用后面的属性值覆盖前面的属性值
  • extend
  1. 3.x 版本中和 assign 一样
  2. 4.x 版本中会合并原型链上的属性
  • merge 遇到相同属性名的时候,如果属性值是纯对象或集合的时候,会合并属性值

 

 二 ES6 Object.assign():Object.assign()痛点 

 Object.assign() 只是一级属性复制,比浅拷贝多深拷贝了一层而已

 

 

 

 

 

posted @ 2022-03-10 14:23  TerryMin  阅读(747)  评论(0编辑  收藏  举报