SyntaxError: missing formal parameter( отсутствует формальный параметр)

Сообщение

SyntaxError: идентификатор начинается сразу после числового литерала

Тип ошибки

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

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

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

Примеры

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

js
function square(3) {
  return number * number;
};
// SyntaxError: отсутствует формальный параметр

function greet("Howdy") {
  return greeting;
};
// SyntaxError: отсутствует формальный параметр

function log({ obj: "value"}) {
  console.log(arg)
};
// SyntaxError: отсутствует формальный параметр

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

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

function greet(greeting) {
  return greeting;
}

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

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

js
square(2); // 4

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

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

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