Object.assign()的基本使用
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
Object.assign(target, …sources) 【target:目标对象】,【souce:源对象(可多个)】
1、例1(合并对象)
let object1 = {
a:1,
b:2,
c:3
};
let object = Object.assign({}, object1,{d:4,e:5});
console.log(object) //{a: 1, b: 2, c: 3, d: 4, e: 5}
2、例2(合并对象:如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性)
简而言之:对象中的属性具有相同的键时会被覆盖
let object1 = {
a:1,
b:2,
c:3
};
let object2 = {
c:3,
d:4,
e:5
};
let object = Object.assign({}, object1,object2);
console.log(object) // {a: 1, b: 2, c: 3, d: 4, e: 5}
3、例3如果是字符串将自动被转为对象,其他会被忽略,如下:
const v1 = "abc";
const obj = Object.assign({}, v1);
console.log(obj); // { "0": "a", "1": "b", "2": "c" }
const v2 = true;
const v3 = 10;
const v4 = undefined;
const v5 = null;
const obj1 = Object.assign({}, v1,v2,v3,v4);
console.log(obj1); // { "0": "a", "1": "b", "2": "c" }