object.assign()

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

1. 用来更新对象中的某些属性

Object.assign(targetObj, sourceObj); sourceObj是用来更新targetObj的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let obj = {
a: 1,
b: 2,
c: 5,
d: 6,
};
let obj3 = Object.assign({}, obj);
const obj2 = {
a: 100,
c: 99
}
// 合并
Object.assign(obj3, obj2);
console.log(obj,obj3);

2. 用来深拷贝

Object.assign({},obj) 的方法,第一个参数一定要为空

1
2
3
4
5
6
let obj = {name: '二月', age: {c: 12}}
let age = {c: 88}
let o2 = Object.assign({}, obj, {age});
let o3 = Object.assign({},obj);
o3.name = "四月";
console.log(obj,o2,o3);