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:

javascriptlet obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};

Til slike nøkler kan man kun få tilgang via hakeparenteser:

javascriptconsole.log(obj['1key']);
console.log(obj['key-2']);

Også tilgang til slike navn via egenskap til objektet vil føre til feil:

javascriptconsole.log(obj.1key);
console.log(obj.key-2);

Men den tredje nøkkelen - er tillatt, og til den kan vi få tilgang begge veier:

javascriptconsole.log(obj['key3']);
console.log(obj.key3);
Задание 1

Gitt et objekt:

javascriptlet 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?

Задание 2

Korriger feilene som er begått i følgende kode:

javascriptlet 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);