Meldung

SyntaxError: missing : after property id

Fehlertyp

SyntaxError

Was ist falsch gelaufen?

Wenn Objekte mit der Objektinitialisierungs-Syntax erstellt werden, wird ein (:) eingesetzt, um bei Eiegenschaften Schlüssel und Werte zu trennen.

var obj = { propertyKey: 'value' };

Examples

Doppelpunkt vs. Gleichzeichen

Der Code funktioniert nicht, weil das Gleichzeichen nicht in dieser Form in der Objektinitialisierungs-Syntax genutzt werden kann.

var obj = { propertyKey = 'value' };
// SyntaxError: missing : after property id

Richtig währe der Einsatz eines Doppelpunktes oder der Einsatz von eckigen Klammern, um eine Eigenschaft nach dem erstellen des Objektes zuzuweisen.

var obj = { propertyKey: 'value' };

// or alternatively

var obj = { };
obj['propertyKey'] = 'value';

Leere Eigenschaften

Man kann nicht wie im Beispiel leere Eigenschaften erzeugen:

var obj = { propertyKey; };
// SyntaxError: missing : after property id

Wenn eine Eigenschaft ohne Wert definiert werden soll, muss null als Wert genutzt werden.

var obj = { propertyKey: null };

Berechnete Eigenschaften

Wenn ein Eigenschaftsname aus einem Ausdruck berechnet wird, müssen eckige Klammern genutzt werden. Anderfalls kann der Eigenschaftname nicht errechnet werden:

var obj = { 'b'+'ar': 'foo' };
// SyntaxError: missing : after property id

Man muss den Ausdruck in [] setzen:

var obj = { ['b'+'ar']: 'foo' };

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,