SyntaxError: missing formal parameter

Mensaje

SyntaxError: missing formal parameter (Firefox)

Tipo de error

驴Que es lo que fue mal?

"Formal parameter" es una forma adornada de decir "par谩metro de funci贸n". Tu declaraci贸n de funcion carece de par谩metros v谩lidos. En la declaraci贸n de la funci贸n, los par谩metros deben ser identifiers, no ning煤n valor c贸mo n煤meros, cadenas, o objetos. Declarar las funciones y invocarlas son dos pasos distindos. La declaraci贸n s贸lo requiere identificador/es. Es en la invocaci贸n que asignas los valores.

En JavaScript, los indentificadosres s贸lo pueden contener car谩cteres alfanum茅ricos (o "$" y "_"), no pueden comenzar por n煤mero. Un identificador difiere de una cadena en que la cadena son datos, mientras que lo primero es parte del c贸digo.

Ejemplos

Los par谩metros de funci贸n deben ser identificadores cuando creas la funci贸n. Todas estas declaraciones fallan, ya que proveen par谩metros:

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

Necesitar谩s usar identificadores en las funciones:

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

function greet(greeting) {
  return greeting;
};

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

Entonces podr谩s invocarlas con argumentos a tu gusto:

square(2); // 4

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

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

Tambi茅n interesante