Si hallas algún fallo con tu código o proyecto, recuerda probar siempre en un entorno de testing antes subir el código al trabajo final.
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
Tú 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
- Inserción automática de punto y coma (ASI)
- Declaraciones de JavaScript
Si te ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con el resto juniors de esta forma nos ayudas a dar difusión a este contenido.