使用 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
將由逗號分隔的函式(引數)獲得的值列表轉換為完整功能的陣列(而不是像本機一樣的類似陣列的物件引數物件)。