翻看ES6代碼,很多時候都會看到三個點(...)的存在,它在ES6語法中,有兩種應用形式,分別爲函數中的rest參數,以及擴展運算符
REST參數
rest參數和一個變量名搭配使用,生成一個數組,用於獲取函數多餘的參數,說不清楚,還是代碼實例演示
function input(...params){
console.log(params)
}
input(1,2,3,4) //[1,2,3,4]
function input2(a,b,...params){
console.log(params)
}
input2(1,2,3,4) //[3,4]
rest參數作用: 將多餘的逗號分隔的參數序列轉換爲數組參數注意: rest參數必須是最後一個參數,否則報錯
擴展運算符
擴展運算符可以理解爲rest參數的逆運算,將數組轉換爲逗號分隔的參數序列,應用如下
arr1 = [1,2,3]
arr2 = [4,5,6]
arr3 = [7,8,9]
arr4 = [...arr1, ...arr2, ...arr3] //[1,2,3,4,5,6,7,8,9] 用於數組合並
list = [a,b,c,d,e]
let [a,b, ...c] = list
a //a
b //b
c //[c,d,e]
// 用於解耦,感覺這有點像是rest參數的應用,應爲結果是數組