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