浅拷贝和深拷贝

时间:2022-03-11 21:39:35

浅拷贝

浅拷贝即直接赋值,但是有个问题,我们只要更改其中的一个,然后其他的也会跟着改变。

看以下在浏览器控制台输出的代码:

数组浅拷贝

浅拷贝和深拷贝

对象浅拷贝

浅拷贝和深拷贝

深拷贝

数组深拷贝

方法一: concat()

浅拷贝和深拷贝

方法二: slice()

浅拷贝和深拷贝

对象深拷贝

方法一: 用JSON.parse和 JSON.stringify转

浅拷贝和深拷贝

方法二: 递归拷贝

浅拷贝和深拷贝

方法三:Object.assign()

语法:  Object.assign(target, ...sources)参数target目标对象。sources源对象。返回值目标对象。