HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.
View in English Always switch to English
Errodesintaxe: Identificador Esperado(Edge) Errodesintaxe: declaração de função requer um nome [Firefox] Errodesintaxe: Token inesperado ( [Chrome]
Errodesintaxe
Existe uma declaração no código que requer um nome. Você precisa checar como as funções são definidas e se você precisa providenciar um nome, se a função em questão precisa ser uma expressão de função, um IIFE ou se o código da função está colocado corretamente neste contexto.
Uma declaração de função (ou declaração de função) requer um nome, isso não vai funcionar:
function () { return 'Olha mundo'; } // SyntaxError: function statement requires a name
Você pode usar uma expressão de função ao invés de uma atribuição.
var saudar = function () { return "Ola mundo"; };
Ou, sua função pode ser pretendida a ser uma IIFE (Immediately Invoked Function Expression), qual é uma função que será em breve definida. Você vai precisar de um pouco mais de colchetes neste caso:
(function () {})();
Se usar labels, precisará providenciar um nome de função depois da palavra function . Isto não funciona:
function
function Saudacao() { alemao: function () { return "Moin"; } } // SyntaxError: a função declaração requer um nome
Isso funciona ,veja o exemplo:
function Saudacao() { alemao: function g() { return "Moin"; } }
Se pretende criar um metodo para um objeto, voce precisa-rá criar um objeto (hehehe). A seguir uma sintaxe sem nome depois de function é válida.
var saudacao = { alemao: function () { return "Moin"; }, };
Alem disso,cheque sua sintaxe usando callbacks. Colchetes e virgulas ficam facilmente atrapalhar e dificultar.
promessa.then( function() { console.log("sucesso"); }); function() { console.log("erro"); } // SyntaxError: function statement requires a name
O correto seria:
promise.then( function() { console.log("success"); }, function() { console.log("error"); } );//sempre que abrir feche();