考虑:
let myArray = [1, 2, 3];
let myArray2 = myArray;
let myArray3 = [...myArray];
myArray2
和myArray3
的作业有何区别? myArray2是对myArray的相同内存的引用(所以如果myArray.shift()
,myArray2
的值也会更改),而myArray3
是myArray
的副本吗?
澄清:我理解[...myArray]
会创建数组的副本。我不清楚myArray2 = myArray
是否也创建了副本,或者创建了对同一个数组的第二个引用,因此通过另一个更改数组将通过另一个获取值。