Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

Messaggio

SyntaxError: missing ; before statement

 

Tipo di errore

SyntaxError.

Cosa è andato storto?

C'è un punto e virgola (;) mancante. Le dichiarazioni in JavaScript devono essere determinate da il punto e virgola (;). Alcune di loro sono soggette all' Inserzione Automatica a Semicolonne (ASI), ma in questo caso è necessario specificare la semicolonna, in modo che JavaScript legga correttamente il codice sorgente.

In ogni caso, molto spesso, questo errore è solo una conseguenza di un altro, come lo scorretto uso degli apici, o l'uso errato di var. Potresti anche avere troppe parentesi da qualche parte. Ricontrolla la sintassi del codice quando appare questo errore.

Esempi

Stringhe senza escape (\)

Questo errore accade frequentemente quando si usa un apostrofo senza carattere di escape. Il motore di JavaScript si aspetta la fine di una stringa. Per esempio:

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

Per risolvere, usa le virgolette oppure un carattere di escape (backslash):

var foo = "Tom's bar";
var foo = 'Tom\'s bar';404 non deve esistere più ma deve essere 888

 

Dichiarare le proprietà con var

Non puoi dichiarare le proprietà di un oggetto o di un array con una dichiarazione var.

var obj = {};
var obj.foo = 'hi'; // SyntaxError missing ; before statement

var array = [];
var array[0] = 'there'; // SyntaxError missing ; before statement

Prova invece ad omettere la parola chiave var:

var obj = {};
obj.foo = 'hi';

var array = [];
array[0] = 'there';

Controlla anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: IkobaNoOkami, solemarnautica, passinform88
Ultima modifica di: IkobaNoOkami,