在业务代码中,经常需要对象的传递,这个时候我们需要个格外的注意!
到底是需要深拷贝的对象,还是需要浅拷贝的对象,否则在这里可能就会留下bug的隐患!
const a = {x: 1, y: {z: 2}}
// 浅拷贝
const b = a
// 第一级属性深拷贝,以后级别属性浅拷贝
const c = Object.assign({}, a)
const d = {...a}
// 深拷贝
const e = JSON.parse(JSON.stringify(a))
a.x = 5
a.y.z = 6
console.log(a) // {x: 5, y: {z: 6}}
console.log(b) // {x: 5, y: {z: 6}}
console.log(c) // {x: 1, y: {z: 6}}
console.log(d) // {x: 1, y: {z: 6}}
console.log(e) // {x: 1, y: {z: 2}}
本文通过实例讲解了JavaScript中深拷贝与浅拷贝的区别,展示了不同拷贝方式下对象属性修改的影响,强调了在对象传递时选择正确拷贝方式的重要性。

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



