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
-
Otros errores relacionados con parámetros formales: