SyntaxError: missing : after property id
Fehlermeldung
SyntaxError: missing : after property id
Fehlertyp
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' };