我們在上一篇文章中學到了將陣列扁平化的作法(…語法)
今天記錄一下與其相關的rest parameter
假設現在有個函式如下
function arrDealer(a,b,...arg){
//some code here
}
…arg表示第三個之後的所有參數,因為擴展運算子的關係會被視為一個陣列,其中會包含以下特性
- 由於是陣列,所以可以被map,reduce等方法處理
- 同理,具有length特性
如果你在一個函數中僅使用rest parameter ,會有一些有趣的事情發生,如下
function addup(...[a,b,c]){
return a+b+c
}
addup(1,2) //undefined 因為第三個參數沒定義
addup(1,2,3)//6
addup(1,2,3,4)// 6 僅定義三個參數,第四個數值不被採用
目前還看不出這個東西有何用處,之後若有發現會在做紀錄
參考文章:
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Functions/rest_parameters