_.extend vs _.clone 在 lodash

Mad*_*dav 5 javascript lodash

为了在处理 JavaScript 对象时从另一个对象继承一个对象的属性,我经常看到使用_.clonewhere 的意图是创建一个具有另一个对象属性的对象,然后它会被扩展。

为什么我们不能只使用_.extend哪个与扩展对象更相关?

请告诉我两者之间的区别以及为什么我们不能_.extend而不是_.clone哪个是一项昂贵的操作。

con*_*exo 5

_.extend使对象发生变异。_.clone创建副本,而不是按引用,并且不会更改原始对象。请注意,这_.extend只是 的别名_.assignIn

_.assignIn(object, [sources])

注意:此方法会发生变化object

https://lodash.com/docs/4.17.2#assignIn

另请参阅文档_.clone

https://lodash.com/docs/4.17.2#clone