如何在ES6 +中将两个javascript对象合并在一起?

我厌倦了总是不得不编写这样的代码:

function shallowExtend(obj1,obj2){

var key;

for ( key in obj2 ) {

if ( obj2.hasOwnProperty(key) === false ) continue;

obj1[key] = obj2[key]

}

}

或者,如果我不想自己编写代码,请实现一个已经执行过的库。ES6 +肯定会在这方面获救,这将为我们提供类似a

Object.prototype.extend(obj2...)Object.extend(obj1,obj2...)

那么ES6 +是否提供这种功能?如果尚不存在,那么是否计划了此类功能?如果没有计划,那为什么不呢?

回答:

您将可以通过使用Object.assign在ES6中进行浅合并/扩展/分配:

Object.assign( targetsources );

其中 … sources 表示源对象。

var obj1 = {name: 'Daisy', age: 30};

var obj2 = {name: 'Casey'};

Object.assign(obj1, obj2);

console.log(obj1.name === 'Casey' && obj1.age === 30);

// true

以上是 如何在ES6 +中将两个javascript对象合并在一起? 的全部内容, 来源链接: utcz.com/qa/422063.html

回到顶部