1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let originalObject = {
name: "John",
age: 30,
hobbies: ["reading", "coding"],
}

//浅拷贝对象
const shallowCopyObj = Object.assign({}, originalObject);

// 修改拷贝对象的属性
shallowCopyObj.name = "Alice";
shallowCopyObj.hobbies.push("painting");

console.log(originalObject);
console.log(shallowCopyObj);
//{ name: 'John', age: 30, hobbies: [ 'reading', 'coding', 'painting' ] }
//{
// name: 'Alice',
// age: 30,
// hobbies: [ 'reading', 'coding', 'painting' ]
//}

如果对象的属性为引用类型或复杂类型,修改拷贝对象的属性,会影响到原对象,修改原对象的属性,也会影响到拷贝对象。