浅拷贝
Object.assign- 或者展开运算符
深拷贝
- 可以通过
JSON.parse(JSON.stringify(object))来解决
let a = {
age: 1,
jobs: {
first: 'FE'
}
}
let b = JSON.parse(JSON.stringify(a))
a.jobs.first = 'native'
console.log(b.jobs.first) // FE
该方法也是有局限性的
- 会忽略
undefined - 不能序列化函数
- 不能解决循环引用的对象
本文探讨了JavaScript中实现对象拷贝的两种常见方法:浅拷贝(通过Object.assign或展开运算符)和深拷贝(使用JSON.parse(JSON.stringify(object)))。虽然JSON解析方式能实现深拷贝,但存在忽略undefined、无法序列化函数及处理循环引用对象的局限性。了解这些局限性对于优化代码和避免潜在问题至关重要。
1533

被折叠的 条评论
为什么被折叠?



