サイ本からのメモ。
パラメータのデフォルト値を使うことで、パラメータよりも少ない数の引数で、呼び出せる関数を記述できる。この反対を行うのが残余パラメータ。これはパラメータよりも多い数の引数で呼び出せる関数を記述できます。下記のコードは受け取った数値の中から一番大きい数を返します。
function max(first = -Infinity, ...rest) {
let maxValue = first;
for (let n of rest) {
if (n > maxValue) {
maxValue = n;
};
};
return maxValue
};
max(1, 10, 100, 2, 3, 1000, 4, 5, 6); // 1000
残余パラメータの前に3つのピリオドを記述します。残余パラメータは関数宣言のパラメータリストで最後に記述します。
残余パラメータはES6から追加されました。
参考