La excepción de JavaScript “falta; antes de la declaración” ocurre cuando hay un punto y coma (;) falta en alguna parte y no se puede agregar mediante la inserción automática de punto y coma (ASI). Debe proporcionar un punto y coma para que JavaScript pueda analizar el código fuente correctamente.

Mensaje

SyntaxError: Expected ';'(Edge)
SyntaxError: missing ; before statement(Firefox)

tipo de error

SyntaxError.

¿Qué salió mal?

Hay un punto y coma (;) falta en alguna parte. Declaraciones de JavaScript debe terminar con punto y coma. Algunos de ellos se ven afectados por la inserción automática de punto y coma (ASI), pero en este caso debe proporcionar un punto y coma para que JavaScript pueda analizar el código fuente correctamente.

Sin embargo, a menudo, este error es solo una consecuencia de otro error, como no escapar las cadenas correctamente o usar var incorrectamente También es posible que tenga demasiados paréntesis en alguna parte. Verifique cuidadosamente la sintaxis cuando se arroje este error.

Ejemplos

Cadenas sin escape

Este error puede ocurrir fácilmente cuando no se escapan las cadenas correctamente y el motor de JavaScript espera el final de su string ya. Por ejemplo:

var foo ='Tom's bar';// SyntaxError: missing ; before statement

Puede usar comillas dobles o escapar del apóstrofe:

var foo ="Tom's bar";var foo ='Tom's bar';

Declarar propiedades con var

no poder declarar propiedades de un objeto o array con un var declaración.

var obj =;var obj.foo ='hi';// SyntaxError missing ; before statementvar array =[];var array[0]='there';// SyntaxError missing ; before statement

En su lugar, omita el var palabra clave:

var obj =;
obj.foo ='hi';var array =[];
array[0]='there';

malas palabras clave

Si vienes de otro lenguaje de programación, también es común usar palabras clave que no significan lo mismo o no tienen ningún significado en javaScript:

def print(info)
  console.log(info);;// SyntaxError missing ; before statement

En su lugar, utilice function en lugar de def:

functionprint(info)
  console.log(info);;

Ver también