对象赋值
用 Object.assgin() 实现浅拷贝
代码举例
const obj1 = {
name:'qingkaobei',
age:28,
desc:'hello world',
};
cont obj2 = {
name:'徐欢',
sex:'男',
};
//【关键代码】浅拷贝:把obj1赋值给obj2。这行代码的返回值也是obj2
Object.assign(obj2,obj1);
console.log(JSON.stringfy(obj2));
打印结果
{"name":"qingkaobei","sex":"男","age":28,"desc":"hello world"}
注意这行代码在实际开发中经常会用到,所以一定要掌握。它的作用是:将obj1的值直接追加到obj2中。如果两个对象里的属性名相同,则obj2的值会被obj1的值覆盖。
数组覆盖
扩展运算符
arr2 = arr1
上方代码中,其实是让arr2指向arr1的地址,也就是说二者指向的是同一个内存地址。
如果不想让 arr1 和 arr2 指向同一个内存地址,我们可以借助扩展运算符来做:
let arr2 = [...arr1]; //arr2 会开辟新的内存地址