Begrensninger på nøkler i objekter i JavaScript
Vi kan skrive uten anførselstegn ikke alle nøklene i objekter, men bare de som tilfredsstiller følgende begrensninger: de kan ikke starte med et siffer og kan ikke inneholde bindestrek, mellomrom og lignende ting.
Hvis strengen bryter begrensningen, må den settes i anførselstegn. I følgende eksempel tilfredsstiller en del av nøklene ikke betingelsene og står derfor i anførselstegn:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Til slike nøkler kan man kun få tilgang via hakeparenteser:
console.log(obj['1key']);
console.log(obj['key-2']);
Også tilgang til slike navn via egenskap til objektet vil føre til feil:
console.log(obj.1key);
console.log(obj.key-2);
Men den tredje nøkkelen - er tillatt, og til den kan vi få tilgang begge veier:
console.log(obj['key3']);
console.log(obj.key3);
Gitt et objekt:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
For hvilke nøkler i dette objektet er anførselstegn obligatoriske, og for hvilke er de det ikke?
Korriger feilene som er begått i følgende kode:
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);