合併 物件/陣列
let a = [1,2,3];let b = [4,5,6
];let c = [...a,...b]; //
[1,2,3,4,5,6]
淺拷貝物件/陣列
用擴充套件運算子對陣列或者物件進行拷貝時,只能擴充套件和深拷貝第一層的值,對於第二層極其以後的值,擴充套件運算子將不能對其進行打散擴充套件,也不能對其進行深拷貝,即拷貝後和拷貝前第二層中的物件或者陣列仍然引用的是同乙個位址,其中一方改變,另一方也跟著改變。
var obj =var obj2 =
obj.name = '小天'
console.log(obj2)
//var data = [, ]
var data2 =[...data]
data[
0].age = 100
console.log(data2)
//[, ]
陣列解構賦值
var arr = [1, 2, 3, 4]var [a, ...b] = arr ///
/展開運算子必須放在最後一位
console.log(a) //
1console.log(b) //
[2 ,3 ,4]
es6 展開運算子
展開運算子不能用在物件當中,只能在可遍歷物件中使用 iterables iterables的實現是依靠 symbol.iterator 函式,目前只有array,set,string內建 symbol.iterator 方法,不過es7草案中已經加入了物件展開運算子。可用展開運算子展開陣列,解構陣列...
es6 展開運算子
好記性不如爛筆頭,在學習的過程中,越來越明白這句話的含義 es6的展開運算子使用三個點來表示 使用展開運算子的前提 物件具有 iterator 遍歷器介面 比如陣列,怎麼判斷乙個物件是否具有iterator 遍歷器介面呢,我們檢視物件是否有symbol symbol.iterator 屬性就可以了 ...
es6展開運算子
展開運算子 在es6中用.來表示展開運算子,它可以將陣列方法或者物件進行展開。先來看乙個例子它是如何使用的。const arr1 1,2,3 const arr2 arr1,10,20,30 這樣,arr2 就變成了 1,2,3,10,20,30 arr1中的值完全轉殖到了arr2中 arr1改變a...