使用 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
将由逗号分隔的函数(参数)获得的值列表转换为完整功能的数组(而不是像本机一样的类似数组的对象参数对象)。