ES6 引入了剩余参数(Rest Parameters)的概念,允许函数接受不定数量的参数,这些参数会被捕获成一个数组。剩余参数的语法使用三个点 ...
后跟一个参数名。
以下是一个简单的例子:
function sum(...numbers) {return numbers.reduce((total, num) => total + num, 0);
}console.log(sum(1, 2, 3, 4)); // 输出:10
console.log(sum(5, 10, 15)); // 输出:30
在这个例子中,...numbers
就是剩余参数,它会捕获所有传递给函数的参数,并将它们存储在名为 numbers
的数组中。然后,通过 reduce
方法计算数组中所有数字的总和。
剩余参数可以用于替代传统的 arguments
对象,它提供了更灵活和易用的方式来处理不定数量的参数。
需要注意的是,剩余参数只能出现在函数的最后一个参数位置。例如,下面的代码是不合法的:
// 错误示例,剩余参数必须是最后一个参数
function invalidFunction(x, ...rest, y) {// ...
}
正确的写法是将剩余参数放在最后:
// 正确示例
function validFunction(x, y, ...rest) {// ...
}
总体来说,剩余参数是 ES6 中一个非常方便的特性,特别适合在处理不定数量的参数时使用。