Object.assign的使用

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

let obj1 = {a:2,b:3}

let obj2 = Object.assign({},obj1);

console.log(obj1);//{a:2,b:3}

console.log(obj2);//{a:2,b:3|}

let target = {a:1,b:2};

let source ={a:2,c:3};

let result = Object.assign(target,source);

console.log(target);//{a:2,b:2,c:3}

console.log(source);//{a:2,c:2}

console.log(result);//{a:2,b:2,c:3}

let target1 = {a:1,b:2};

let source1 ={a:2,c:3};

let result1 = Object.assign(source1,target1);

console.log(target1);//{a:1,b:2}

console.log(source1);//{a:1,c:3,b:2}

console.log(result1);//{a:1,c:3,b:2}

由些可见,Object.assign第二个对象会覆盖第一个对象上的值,并改变第一个对象的值

同理,如果存在多个对象,也是从后往前依次覆盖,第一个对象值被改变,其余位置的对象不会改变

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Object.assign是ES6新添加的接口,主要的用途是用来合并多个JavaScript的对象。 Object...
    独行侠_ef93阅读 3,846评论 0 3
  • 1.属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 const fo...
    Masami_9e88阅读 355评论 0 0
  • 一、Object.assign()对象的拷贝 二、Object.assign()对象的深拷贝 3、对象的合并 4、...
    Amy_yqh阅读 140,284评论 0 75
  • es6总结 往期文章 ES5总结 1.es6简介 回顾javascrip组成:核心(ECMAScript)由ECM...
    理想三旬7阅读 607评论 0 5
  • 1、新的声明方式 以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种...
    令武阅读 1,054评论 0 7