Rest parameters

Rest parameters

當使用 rest parameters 時,一個函式可以接受多個不確定數量的參數,並將它們視為一個陣列傳入。

基本語法

function f(a, b, ...theArgs) {
  // …
}

範例

function sum(...numbers) {
  return numbers.reduce((acc, num) => acc + num, 0);
}

console.log(sum(1, 2)); // 3
console.log(sum(1, 2, 3)); // 6
console.log(sum(1, 2, 3, 4)); // 10

注意事項

  • 一個函式只能有一組 rest parameters

  • rest parameters 只能放在函式的最後一個

function wrong1(...one, ...wrong) {} // wrong !
function wrong2(...wrong, arg2, arg3) {} // wrong !