JavaScript ... 扩展符是深拷贝还是浅拷贝

** 先说结论,JavaScript...既是深拷贝也是浅拷贝。**

深拷贝

简单的对象,进行...扩展就是深拷贝。

let student = {
name: "张三",
age: "20",
};

let _student = { ...student };
_student.name = "李四";
console.log({ student, _student });
{
student: { name: '张三', age: '20' },
_student: { name: '李四', age: '20' }
}

浅拷贝

复杂的对象,进行...扩展就是浅拷贝。假设说我在上面的 Student 对象里面又加了一层。

let student = {
name: "张三",
age: "20",
area: {
province: "广东省",
city: "深圳市",
},
};
{
student: { name: '张三', age: '20', area: { province: '山东省', city: '聊城市' } },
_student: { name: '张三', age: '20', area: { province: '山东省', city: '聊城市' } }
}

JavaScript ... 扩展符是深拷贝还是浅拷贝

https://www.cctv3.net/static/20240116/javascript-triple-dot-copy.html

作者

江北饮马、江南折花

发布于

2024-01-16

更新于

2024-02-03

许可协议

评论