MDM-Object.fn 一些实践与理解

Object.assign()

用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。

语法

Object.assign(target, ...sources)
合并对象
const list = {
        stu:{aa:11,bb:22,cc:33},
        Scenelist:{ee:44,dd:55,ff:66}
    }
const addList = {gg:77,hh:88,ii:99}
const result = Object.assign(list,{Scenelist:addList});

//注意目标对象(target)自身也会改变
console.log(result===list) //true
console.log(Object.is(result, list)) //true

有趣的是const定义的常量list发生了改变没报错。
const保存的是对象的指针?
合并具有相同属性的对象
const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };

const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
原文地址:https://www.cnblogs.com/hideonbush/p/9311529.html