Beperkingen op object sleutels in JavaScript
We kunnen niet alle sleutels van objecten zonder aanhalingstekens schrijven, alleen die welke voldoen aan de volgende beperkingen: ze mogen niet beginnen met een cijfer en mogen geen koppelteken, spatie en dergelijke bevatten.
Als een string de beperking overtreedt, moet deze tussen aanhalingstekens worden geplaatst. In het volgende voorbeeld voldoet een deel van de sleutels niet aan de voorwaarden en staat daarom tussen aanhalingstekens:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Derergelijke sleutels zijn alleen toegankelijk via vierkante haken:
console.log(obj['1key']);
console.log(obj['key-2']);
Pogingen om dergelijke namen via een puntnotatie te benaderen, zullen resulteren in een fout:
console.log(obj.1key);
console.log(obj.key-2);
Maar de derde sleutel is geldig, en we kunnen deze op beide manieren benaderen:
console.log(obj['key3']);
console.log(obj.key3);
Gegeven het volgende object:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
Voor welke sleutels van dit object zijn aanhalingstekens verplicht, en voor welke niet?
Verbeter de fouten die zijn gemaakt in de volgende code:
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);