浅谈ES6的Object.assign

218 阅读1分钟

先上MDN上面的解释

Object.assign()  方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。

怎么用呢?其实非常简单,直接上代码

Object.assign(target, ...sources)    【target:目标对象】,【souce:源对象(可多个)】

举个例子

        // 这个时候我们想要在obj1里再加一个属性 c:3
        const obj2 = Object.assign({c:3},obj1)
        console.log(obj2)
        // {c: 3, a: 1, b: 2}

这也就是它的用法,但是要注意的是,如果您要添加的内容和原来的对象里,有相同的属性的话,要注意的是:

后面的souce源对象里面的属性会覆盖目标taget对象里的属性

举个例子

const obj1 = {
  a: 1,
  b: 2,
  c: 3
};

const obj2 = Object.assign({c: 4, d: 5}, obj1);

console.log(obj1)  // { a: 1, b: 2, c: 3 }
console.log(obj2)  // { c: 3, d: 5, a: 1, b: 2 }