Spec-Zone.ru › JavaScript

SyntaxError: параметр rest не может иметь значение по умолчанию

Исключение JavaScript "rest parameter may not have a default" возникает, когда параметр rest имеет значение по умолчанию. Поскольку параметр rest всегда создает массив, значение по умолчанию никогда не будет применено.

Сообщение

SyntaxError: Rest parameter may not have a default initializer (V8-based)
SyntaxError: rest parameter may not have a default (Firefox)
SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration. (Safari)

Тип ошибки

SyntaxError

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

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

Примеры

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

function doSomething(...args = []) {}

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

function doSomething(...args) {
  // args is always an array
}

См. также

  • Функции
  • Параметры по умолчанию
  • Параметры 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/Rest_with_default

Spec-Zone.ru

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