Lodash 中 assign、extend、merge区别
一 Lodash 中 assign、extend、merge区别:(assign、extend、merge)
相同之处
- 都可以用来合并对象
- 都会修改原来的对象 (如果原来的对象是作为函数的第一个参数的话)
不同之处
assign函数不会处理原型链上的属性,也不会合并相同的属性,而是用后面的属性值覆盖前面的属性值
extend
- 3.x 版本中和
assign一样 - 4.x 版本中会合并原型链上的属性
merge遇到相同属性名的时候,如果属性值是纯对象或集合的时候,会合并属性值
二 ES6 Object.assign():Object.assign()痛点
Object.assign() 只是一级属性复制,比浅拷贝多深拷贝了一层而已

浙公网安备 33010602011771号