--- title: 'SyntaxError: missing formal parameter' slug: Web/JavaScript/Reference/Errors/Missing_formal_parameter tags: - Erro - Erros - JavaScript - SyntaxError translation_of: Web/JavaScript/Reference/Errors/Missing_formal_parameter ---
SyntaxError: missing formal parameter (Firefox)
{{jsxref("SyntaxError")}}
"Parâmetro Formal" é uma maneira elegante de dizer "parâmetro de função". Faltam parâmetros válidos em sua função. Na declaração de uma função os parâmetros devem ser {{Glossary("Identifier", "identifiers")}}, em vez de um valor como números, strings ou objetos. Declarar funções e chamar funções são dois passos diferentes. Declarações exigem identificadores como parâmetros e é apenas ao chamar (invocar) a função que você fornece os valores que a função deve usar.
Em {{glossary("JavaScript")}}, identificadores podem obter apenas caracteres alfanuméricos (ou "$" e "_"), e não podem começar com um número. Um identificador difere de uma string porque uma string é um dado, enquanto que um identificador é parte do código.
Parâmetros de função devem ser identificadores ao se configurar uma função. Todas essas declarações de função abaixo falham, pois estão fornecendo valores para seus parâmetros:
function quadrado(3) {
return numero * numero;
};
// SyntaxError: missing formal parameter
function saudacao("Olá") {
return saudacao;
};
// SyntaxError: missing formal parameter
function log({ obj: "valor"}) {
console.log(arg)
};
// SyntaxError: missing formal parameter
Você terá de usar identificadores nas declarações de função:
function quadrado(numero) {
return numero * numero;
};
function saudar(saudacao) {
return saudacao;
};
function log(arg) {
console.log(arg)
};
You can then call these functions with the arguments you like:
quadrado(2); // 4
saudar("Olá"); // "Olá"
log({obj: "valor"}); // Object { obj: "valor" }