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 参数特别适合处理可变数量参数的函数:
立即学习“Java免费学习笔记(深入)”;
封装多参数函数,如日志函数 log(level, ...msgs) 函数柯里化或代理调用:function wrapper(...args) { return original(...args); } 与解构配合,提取前几项后,把其余项收进数组:const [first, second, ...rest] = arr;
基本上就这些。Rest 参数让 JavaScript 处理不定参数变得更简洁、更符合直觉。
以上就是什么是javascriptRest参数_它如何收集剩余参数?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1543871.html
微信扫一扫
支付宝扫一扫