<script>
let a1 = {};
let b1 = {name: '123'}
Object.assign(a1, b1);
console.log(a1);
let a12={}
let b12= {c: 1,d:{e : 2}}
Object.assign(a12,b12);
b12.c=5;
b12.d.e=7;
console.log(b12, 'b');
console.log(a12, 'a');
let a21 = {
name: 'xiaoming',
age: 12
}
let b21 = {
...a21
};
console.log(b21);
let arr1 = [1, 2, 3]
let arr2 = [...arr1];
console.log(arr2);
let b22={c: 1,d:{e: 2}}
let a22={...b22};
b22.c=3;
b22.d.e=5;
console.log(b22, 'b22');
console.log(a22, 'a22');
let arr3 = [1, 2, 3];
let arr4 = arr3.concat();
console.log(arr4);
let arr5 = [1, 2, {
val: 4
}];
let arr6 = arr5.slice();
console.log(arr6);
</script>
实现浅拷贝函数
function shallowClone(traget) {
if (typeof target === 'object' && target !== null) {
const cloneTarget = Array.isArray(target) ? [] : {};
for (let prop in target) {
if (target.hasOwnProperty(prop)) {
cloneTarget[prop] = target[prop];
}
}
return cloneTarget;
} else {
return target;
}
}