Spec-Zone.ru › JavaScript

SyntaxError: отсутствует формальный параметр

Исключение JavaScript "missing formal parameter" возникает, когда в объявлении вашей функции отсутствуют допустимые параметры.

Сообщение

SyntaxError: missing formal parameter (Firefox)
SyntaxError: Unexpected number '3'. Expected a parameter pattern or a ')' in parameter list. (Safari)
SyntaxError: Unexpected string literal "x". Expected a parameter pattern or a ')' in parameter list. (Safari)

Тип ошибки

SyntaxError

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

"Формальный параметр" — это причудливый способ сказать "параметр функции". В объявлении вашей функции отсутствуют допустимые параметры. При объявлении функции параметры должны быть идентификаторами, а не какими-либо значениями, такими как числа, строки или объекты. Объявление функций и вызов функций — это два отдельных шага. Объявления требуют идентификаторов в качестве параметров, и только при вызове (активации) функции вы предоставляете значения, которые функция должна использовать.

В JavaScript идентификаторы могут содержать только буквенно-цифровые символы (или "$" или "_") и не могут начинаться с цифры. Идентификатор отличается от строки тем, что строка является данными, тогда как идентификатор является частью кода.

Примеры

Предоставьте правильные параметры функции

Параметры функции должны быть идентификаторами при настройке функции. Все эти объявления функций завершаются неудачно, поскольку они предоставляют значения для своих параметров:

function square(3) {
  return number * number;
}
// SyntaxError: missing formal parameter

function greet("Howdy") {
  return greeting;
}
// SyntaxError: missing formal parameter

function log({ obj: "value"}) {
  console.log(arg)
}
// SyntaxError: missing formal parameter

Вам нужно будет использовать идентификаторы в объявлениях функций:

function square(number) {
  return number * number;
}

function greet(greeting) {
  return greeting;
}

function log(arg) {
  console.log(arg);
}

Затем вы можете вызвать эти функции с нужными вам аргументами:

square(2); // 4

greet("Howdy"); // "Howdy"

log({ obj: "value" }); // { obj: "value" }

См. также

  • SyntaxError: повторное объявление формального параметра "x"

© 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/Missing_formal_parameter

Spec-Zone.ru

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