简体   繁体   English

Webpack-merge和Object.assign()有什么区别?

[英]What is the difference between Webpack-merge and Object.assign()?

I'm working with webpack and finally I can't see the opportunity of this package since it seems Object.assign make the job, but maybe there is something between the lines about this package ? 我正在使用webpack,最后我看不到这个包的机会,因为似乎Object.assign完成了这项工作,但也许这个包之间有什么东西?

Thanks 谢谢

The difference between "webpack-merge" npm package and Object.assign() (or object spread) is how they handle property with the same name: “webpack-merge”npm包和Object.assign()(或对象扩展)之间的区别在于它们如何处理具有相同名称的属性:

const webpackMerge = require("webpack-merge");

const object1 = {
  'x': [{'a': 'a' }, { 'b': 'b' }]
}

const object2 = {
  'x': [{'c': 'c' }, { 'd': 'd' }]
}

console.log('result webpackMerge: ',
  webpackMerge(object1, object2)
)

console.log('result Object.assign: ',
  Object.assign({}, object1, object2)
)

console.log('result Object.spread: ',
  {...object1, ...object2}
)

The above will give you: 以上将给你:

result webpackMerge:  { x: [ { a: 'a' }, { b: 'b' }, { c: 'c' }, { d: 'd' } ] }
result Object.assign:  { x: [ { c: 'c' }, { d: 'd' } ] }
result Object spread:  { x: [ { c: 'c' }, { d: 'd' } ] }

As you can see above Object.assign() (or Object spread) overwrite the value of previous properties with the latter one, while webpack-merge concat the element of the array. 正如您在上面所看到的,Object.assign()(或Object spread)用后一个属性覆盖以前属性的值,而webpack-merge连接数组的元素。

see above code in Runkit 请参阅Runkit中的上述代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JavaScript中的Object.assign和Object.setPrototypeOf有什么区别? - What is the difference between Object.assign and Object.setPrototypeOf in JavaScript? angular.copy()和Object.assign()有什么区别? - What is the difference between angular.copy() and Object.assign()? Object.assign 和 just assign 的区别 - Difference between Object.assign and just assign {something:value}和Object.assign({},{something:value}之间有什么区别? - What is the difference between { something: value } & Object.assign({}, { something: value }) ...... state,{}和Object.assign({},state,{}之间的区别 - Difference between …state, { } and Object.assign({ }, state, { }) Object.assign {}和Object.Assign []有区别吗? - Is there a difference in Object.assign {} and Object.Assign [] Object.assign() 和'=assign' 之间有什么区别来实现数组或对象中的浅拷贝? - what's difference between Object.assign() and '= assign' to realize shallow copy in array or object? 用于对象深度克隆的 Object.assign 和 JSON.parse(JSON.stringify(obj)) 之间有什么区别? - What is the difference between Object.assign and JSON.parse(JSON.stringify(obj)) for deep cloning of an object? 使用 Object.create() 和 Object.assign() 创建 object 有什么区别? - What is difference between creating object using Object.create() and Object.assign()? Object.assign和对象传播之间的区别(使用[…]语法)? - Difference between Object.assign and object spread (using […] syntax)?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM