解构赋值是深拷贝还是浅拷贝?

let arr = [1,2,3]
let newArr = [...arr]
newArr.push(4)
console.log(arr) // [1, 2, 3]
console.log(newArr) //[1,2,3,4]

let arr2 = [[1,2,3],[4,5,6]]
let newArr2 = [...arr2]
newArr2[0].push(100)
console.log(arr2)   // [[1,2,3,100],[4,5,6]]
console.log(newArr2) // [[1,2,3,100],[4,5,6]]

总结:当数组是一维数组或对象时是深拷贝,多维时就是浅拷贝

posted @ 2023-09-07 23:29  菊子的别致生活园  阅读(122)  评论(0)    收藏  举报