SyntaxError: parameter after rest parameter
消息
SyntaxError: Rest parameter must be last formal parameter (V8-based) SyntaxError: parameter after rest parameter (Firefox) SyntaxError: Unexpected token ','. Rest parameter should be the last parameter in a function declaration. (Safari)
错误类型
哪里出错了?
rest 参数必须是函数定义中的最后一个参数。这是因为 rest 参数收集传递给函数的所有剩余参数,因此在它之后存在任何参数都没有意义。下一个非空白字符必须是参数列表的结束括号。
示例
无效情况
js
function replacer(match, ...groups, offset, string) {}
function doSomething(
arg1,
arg2,
...otherArgs, // Accidental trailing comma
) {}
有效情况
js
function replacer(match, ...args) {
const offset = args.at(-2);
const string = args.at(-1);
}
function doSomething(arg1, arg2, ...otherArgs) {}