let obj={
name:"张三",
age:15,
chengji:[12,45,78]
}
Object.assign第一个参数写空对象的话 第一层数据相当于深拷贝,第二层数据相当于深拷贝(相当于,具体描述不太清楚)
let obj2=Object.assign({},obj)
obj.name="李四";
obj.chengji[1]=100;
console.log(obj);
console.log(obj2)
输出结果是
> [object Object] { age: 15, chengji: [12, 100, 78], name: "李四" }
> [object Object] { age: 15, chengji: [12, 100, 78], name: "张三" }
======================================================================
let obj2=Object.assign(obj)
obj.name="李四";
obj.chengji[1]=100;
console.log(obj);
console.log(obj2)
输出结果是
> [object Object] { age: 15, chengji: [12, 100, 78], name: "李四" }
> [object Object] { age: 15, chengji: [12, 100, 78], name: "李四" }
Object.assign第一个参数不写空对象的话 第一,二层数据相当于浅拷贝(相当于,具体描述不太清楚)