Rest parameter (...)
引用元:https://javascript.info/rest-parameters-spread
通常、ファンクション(関数)はいくつもの引数を使用することが可能!
以下、例
function sum(a, b) {
return a + b;
}
alert (sum(1,2,3,4,5));//結果3
この場合、最初の1,2のみが適応されるので、結果は3となります。
#...を使うことで複数ある引数をArray(配列)にいれることが可能
例えば以下↓
function sumAll(...args) { // ここでいうargsは配列の名前になります
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
alert( sumAll(1) ); // 1
alert( sumAll(1, 2) ); // 3
alert( sumAll(1, 2, 3) ); // 6
この場合、引数が1であっても、1,2,3であっても、その時の引数の数に合わせて結果が異なります。
#最初のいくつかを変数に、残りを配列にいれることも可能!
function showName(firstName, lastName, ...titles) {
alert( firstName + ' ' + lastName ); // 最初の2つが出るので、PaulとSamが出る
// その残りのLisaとRoseがtitlesという配列に入る
// 例) titles = ["Lisa", "Rose"]
alert( titles[0] ); // Lisa
alert( titles[1] ); // Rose
alert( titles.length ); // 2
}
showName("Paul", "Sam", "Lisa", "Rose");