SyntaxError: Unexpected token

Mensagem

SyntaxError: expected expression, got "x"
SyntaxError: expected property name, got "x"
SyntaxError: expected target, got "x"
SyntaxError: expected rest argument name, got "x"
SyntaxError: expected closing parenthesis, got "x"
SyntaxError: expected '=>' after argument list, got "x"

Tipo de erro

O que aconteceu de errado?

É esperado um contrutor de linguagem específico, mas foi entregue outra coisa qualquer. Isto poderá ser simplesmente um erro de escrita.

Exemplos

ExpressĂŁo esperada

Por exemplo, quando sĂŁo chamadas funçÔes, as vĂ­rgulas  imediatamente antes de fechar a função nĂŁo sĂŁo permitidas. JavaScript vai esperar outro argumento, que pode na verdade ser qualquer expressĂŁo.

Math.max(2, 42,);
// SyntaxError: expected expression, got ')'

Para corrigir o problema, retirava-se a virgula ou adicionavam-se mais argumentos:

Math.max(2, 42);
Math.max(2, 42, 13 + 37);

Veja também