1. 程式人生 > >es6 引用陣列,陣列發生改變 (es6 引用型別的資料引用的時候怎麼不改變原始資料)

es6 引用陣列,陣列發生改變 (es6 引用型別的資料引用的時候怎麼不改變原始資料)

 

 

vue專案 ,定義了一個變數,然後 this.requirements 和 this.showRequirements 都賦值為 requ ,在 this.requirements 發生改變

之後, this.showRequirements 也發生了改變 。但是我並不想它改變 。

為什麼會改變呢?因為陣列是引用型別的資料,所以,當指向為同一個指標的時候,改變這個陣列的值會影響到另一個指標所指代的值(即同步)。

我這裡用的是es6的語法,可以複製一個數組比如:this.requirements = [...requ] ,複製陣列,原始陣列不會改變 。 

科普一下:基本型別的資料,引用的時候資料不會發生變化,引用型別的資料,引用的時候原始資料會發生變化。

基本型別:number ,string, 布林值,undefined,null

引用型別:物件,陣列,除了基本型別的都是引用型別