使用 rest 引數建立引數陣列

如果你需要一個包含額外引數的陣列,除了你明確宣告的引數之外,你可能會或可能不期望擁有這些引數,你可以在引數宣告中使用陣列 rest 引數,如下所示:

例 1,陣列中的可選引數:

function printArgs(arg1, arg2, ...theRest) {
  console.log(arg1, arg2, theRest);
}

printArgs(1, 2, 'optional', 4, 5);
// -> "1, 2, ['optional', 4, 5]"

例 2,所有引數現在都是一個陣列:

function printArgs(...myArguments) {
  console.log(myArguments, Array.isArray(myArguments));
}

printArgs(1, 2, 'Arg #3');
// -> "[1, 2, 'Arg #3'] true"

控制檯列印為 true,因為 myArguments 是一個陣列,同樣,引數引數宣告中的 ...myArguments 將由逗號分隔的函式(引數)獲得的值列表轉換為完整功能的陣列(而不是像本機一樣的類似陣列的物件引數物件)。