JavaScript 使用rest参数创建参数数组
示例
如果您需要一个数组,其中包含您可能会或可能不会希望拥有的额外参数,除了您明确声明的参数外,还可以在参数声明内使用arrayrest参数,如下所示:
示例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是它是一个Array,而且,...myArguments参数arguments声明内部将由函数(参数)获得的值列表转换为功能完整的数组(而不是像Nativearguments对象那样的类似Array的对象),该函数由逗号分隔)。