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