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

J*aScript 中的 Rest 参数(...args)是一种语法特性,用于将函数调用时**多余的、未被单独声明的参数**自动收集为一个真正的数组。
Rest 参数的基本写法
它必须写在函数参数列表的最后,用三个英文句点 ... 加上一个变量名表示,比如 ...numbers。这个变量会接收所有“剩下的”实参:
- 函数定义时,前面的参数按位置匹配,剩下的全归 Rest 参数
- Rest 参数本身是一个 Array 实例,可以正常使用
map、filter、reduce等数组方法 - 不能有多个 Rest 参数,也不能跟在它后面再写其他命名参数
和 arguments 对象的区别
arguments 是函数内部可用的类数组对象,但它不是真正的数组,也没有数组方法;而 Rest 参数是标准数组,更直观、更易用:
Brev AI
Brev.ai:搭载Suno AI V3.5技术的免费AI音乐生成器
437
查看详情
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 参数特别适合处理可变数量参数的函数:
- 封装多参数函数,如日志函数
log(level, ...msgs) - 函
数柯里化或代理调用:function wrapper(...args) { return original(...args); } - 与解构配合,提取前几项后,把其余项收进数组:
const [first, second, ...rest] = arr;
基本上就这些。Rest 参数让 J*aScript 处理不定参数变得更简洁、更符合直觉。
以上就是什么是j*ascriptRest参数_它如何收集剩余参数?的详细内容,更多请关注其它相关文章!

数柯里化或代理调用: