Rest 参数(...args)用于将函数多余实参收集为真数组,必须位于参数末尾,是Array实例可直接调用数组方法,区别于类数组的arguments,适用于日志、代理、解构等场景。

JavaScript 中的 Rest 参数(...args)是一种语法特性,用于将函数调用时**多余的、未被单独声明的参数**自动收集为一个真正的数组。
Rest 参数的基本写法
它必须写在函数参数列表的最后,用三个英文句点 ... 加上一个变量名表示,比如 ...numbers。这个变量会接收所有“剩下的”实参:
- 函数定义时,前面的参数按位置匹配,剩下的全归 Rest 参数
- Rest 参数本身是一个 Array 实例,可以正常使用
map、filter、reduce等数组方法 - 不能有多个 Rest 参数,也不能跟在它后面再写其他命名参数
和 arguments 对象的区别
arguments 是函数内部可用的类数组对象,但它不是真正的数组,也没有数组方法;而 Rest 参数是标准数组,更直观、更易用:
function sum(a, b, ...rest) { return rest.reduce((s, n) => s + n, 0); }- 调用
sum(1, 2, 3, 4, 5)→a=1,b=2,rest = [3, 4, 5] - 而
arguments在该函数中是[1, 2, 3, 4, 5],需手动转成数组才能用reduce
常见使用场景
Rest 参数特别适合处理可变数量参数的函数:
标签: javascript java app 区别 red
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~