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:

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

En este caso se pueden usar comillas dobles para escapar del apóstrofe:

js
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

js
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:

js
var obj = {};
obj.foo = "hola";

var array = [];
array[0] = "mundo";

Ver también