SyntaxError: missing ; before statement

Fehlermeldung

SyntaxError: missing ; before statement

Fehlertyp

Was ist falsch gelaufen?

Es fehlt irgendwo ein Semikolon (;). JavaScript Statements m├╝ssen durch ein Semikolon beendet werden. Einige Statements sind von der automatischen Semikolon Einf├╝gung (ASI) betroffen, aber in diesem Fall muss man ein Semikolon geliefert werden, damit JavaScript den Quelltext korrekt lesen kann.

Meistens ist dieser Fehler eine Folge aus einem anderen Fehler, wie ein nicht escaptes Zeichen in einem String oder der falsche Einsatz von var.  Es kann auch sein, dass man zu viele runde Klammern benutzt. Wenn dieser Fehler auftritt, sollte die Syntax gr├╝ndlich gepr├╝ft werden.

Beispiele

Nicht escapte Strings

Dieser Fehler kann leicht auftreten, wenn ein String nicht richtig escapt wird und die JavaScript-Umgebung schon das Ende eines Strings erwartet. Zum Beispiel:

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

Man kann doppelte Anf├╝hrungszeichen benutzen oder das Apostroph escapen:

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

Eigenschaften mit var deklarieren

Man kann Eigenschaften eines Objektes oder Arrays nicht mit einem var deklarieren.

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

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

Stattdessen muss das var Schl├╝sselwort vermieden werden:

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

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

Siehe auch