Spec-Zone.ru › JavaScript

SyntaxError: параметр после параметра rest

Исключение JavaScript "parameter after rest parameter" возникает, когда за параметром rest следует что-либо еще в списке параметров, включая другой параметр rest, формальный параметр или завершающую запятую.

Сообщение

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)

Тип ошибки

SyntaxError

Что пошло не так?

Параметр rest должен быть последним параметром в определении функции. Это связано с тем, что параметр rest собирает все оставшиеся аргументы, переданные функции, поэтому не имеет смысла иметь какие-либо параметры после него. Следующим символом, отличным от пробела, должна быть закрывающая скобка списка параметров.

Примеры

Недопустимые случаи

function replacer(match, ...groups, offset, string) {}

function doSomething(
  arg1,
  arg2,
  ...otherArgs, // Accidental trailing comma
) {}

Допустимые случаи

function replacer(match, ...args) {
  const offset = args.at(-2);
  const string = args.at(-1);
}

function doSomething(arg1, arg2, ...otherArgs) {}

Смотрите также

  • Функции
  • Параметры rest

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Parameter_after_rest_parameter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API