SyntaxError: missing ; before statement
Mensaje
SyntaxError: missing ; before statement
Tipo de Error
¿Qué salio mal?
Hay un punto y coma (;
) faltando en alguna parte. Las declaraciones Javascript deben terminar con punto y coma. Algunas de ellas son afectadas por la inserción automática (ASI), pero en este caso necesitas colocar un punto y coma, de esta forma Javascript puede analizar el código fuente de forma correcta.
Sin embargo, algunas veces, este error es solo una consecuencia de otro error, como no separar las cadenas de texto correctamente, o usar var incorrectamente. Tal vez tengas muchos paréntesis en algún lugar. Revisa cuidadosamente la sintaxis cuando este error es lanzado.
Ejemplo
Cadenas de texto (strings) sin terminar
Este error puede pasar fácilmente cuando no se colocan las comillas correctamente y el motor de JavaScript esta esperando el final de la cadena. por ejemplo:
var foo = 'El bar de Tom's';
// SyntaxError: missing ; before statement
En este caso se pueden usar comillas dobles para escapar del apóstrofe:
var foo = "El bar de Tom's";
var foo = 'El bar de Tom\'s';
Nota: Este error suele pasar frecuentemene con cadenas del idioma Inglés
Declarar propiedades con var
No se pueden declarar propiedades de un objeto o arreglo con una declaración var
var obj = {};
var obj.foo = 'hola'; // SyntaxError: missing ; before statement
var array = [];
var array[0] = 'mundo'; // SyntaxError: missing ; before statement
En vez de esto. omitamos la palabra var
:
var obj = {};
obj.foo = "hola";
var array = [];
array[0] = "mundo";