一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

JavaScript 箭头函数剩余参数传递

时间:2026-07-15 20:33:50 编辑:袖梨 来源:一聚教程网

箭头函数支持剩余参数,语法为...args且必须为最后一个形参;剩余参数是真数组,可直接调用数组方法,无实参时为空数组[],是访问实参的唯一标准方式。

箭头函数可以接收剩余参数(rest parameters),语法和普通函数一致,使用 ...args 形式。

箭头函数中使用剩余参数的写法

剩余参数必须是最后一个形参,且前面不能有其他具名参数(除非用解构或默认值配合)。

  • 正确写法:const sum = (...nums) => nums.reduce((a, b) => a + b, 0);
  • 带前置参数时需注意顺序:const logWithPrefix = (prefix, ...messages) => console.log(prefix, ...messages);
  • 不能写成:(...a, b) => {}(语法错误)

剩余参数在箭头函数中的行为特点

剩余参数在箭头函数里表现和普通函数完全相同:它是一个真正的数组,不是类数组对象,可直接调用 mapfilter 等方法。

  • ...args 收集的是调用时传入的“额外”实参,不包括已命名的参数
  • 没有实参时,args 是空数组 [],不会是 undefined
  • 箭头函数没有自己的 arguments 对象,剩余参数是访问实参的唯一标准方式

常见误用与注意事项

容易混淆的地方在于「剩余参数」和「展开语法」写法相似但语义不同;在箭头函数中尤其要注意上下文绑定问题。

立即学习“Java免费学习笔记(深入)”;

  • 不要试图在剩余参数后加默认值参数:(...rest, x = 1) => {} 是非法语法
  • 若需默认值,应放在剩余参数之前:(a = 1, ...rest) => {}
  • 箭头函数不绑定 this,但剩余参数本身不受影响——它只关乎参数接收逻辑

热门栏目