Einschränkungen für Objektschlüssel in JavaScript
Wir können nicht alle Objektschlüssel ohne Anführungszeichen schreiben, sondern nur diejenigen, die den folgenden Einschränkungen genügen: Sie dürfen nicht mit einer Ziffer beginnen und dürfen keinen Bindestrich, Leerzeichen oder ähnliche Dinge enthalten.
Wenn eine Zeichenkette die Einschränkung verletzt, muss sie in Anführungszeichen gesetzt werden. Im folgenden Beispiel erfüllen einige Schlüssel die Bedingungen nicht und stehen daher in Anführungszeichen:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Auf solche Schlüssel kann nur über eckige Klammern zugegriffen werden:
console.log(obj['1key']);
console.log(obj['key-2']);
Auch der Zugriff auf solche Namen über die Eigenschaft des Objekts führt zu einem Fehler:
console.log(obj.1key);
console.log(obj.key-2);
Der dritte Schlüssel hingegen ist zulässig, und wir können auf ihn auf beide Arten zugreifen:
console.log(obj['key3']);
console.log(obj.key3);
Gegeben ist ein Objekt:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
Für welche Schlüssel dieses Objekts sind Anführungszeichen obligatorisch und für welche nicht?
Korrigieren Sie die Fehler, die in dem folgenden Code gemacht wurden:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
console.log(obj.1a);
console.log(obj.b2);
console.log(obj.c-c);
console.log(obj.d 4);
console.log(obj.e5);