數組的分配和解包之間的區別
P粉287254588
2023-08-13 16:31:45
<p>所以我有這段JavaScript程式碼,Line A和Line B有什麼差別</p>
<pre class="brush:php;toolbar:false;">const arr1 = [1,2,3,4,5]
const arr2 = [...arr1]; // Line A
const arr2 = arr1; // Line B</pre>
<p>所以我想知道這兩種賦值方式是相同的還是有一些區別</p>
它們是不同的。
LINE A,將陣列的每個元素複製(淺複製)到
arr2
中。LINE B,將
arr1
的引用賦值給arr2
。基本上,arr1
和arr2
是同一個陣列。範例
淺複製
淺複製只複製第一層項目。例如,如果數組包含另一個數組,則內部數組會被複製,但不會複製內部數組的元素。因此,深層元素不會被複製。請參閱下面的程式碼範例: