js我们常用赋值的方式进行复制。

对常数项来说赋值后的两个变量没有关系,但是变量是对象的话,值会相互影响,这里存在深拷贝与浅拷贝的问题。

对象的赋值默认是浅拷贝,A=B,两个值互相影响。如果要想不影响,可以用深拷贝。

如果对象里面只有常数项值,可以用Object.assign(Y,X),Object.assign(Y,X1,X2),C = Object.assign({}, A,B) 想将两个或多个对象的属性合并到一起,不改变原有对象的属性,可以用一个空的对象作为target对象

或者用扩展运算符 如果只有常熟项,也可使用 b = {...a}

如果无法判断对象里面值的属性,较为推荐的是B=JSON.parse(JSON.stringify(A))

 

 

参考资料

https://blog.csdn.net/SSophia/article/details/123964733

https://blog.csdn.net/weixin_43290151/article/details/124715850

posted on 2023-03-06 11:46  小海豚Dolphins  阅读(19)  评论(0编辑  收藏  举报