Begrænsninger for objektnøgler i JavaScript

Vi kan ikke skrive uden anførselstegn for alle objektnøgler, kun for dem, der opfylder følgende begrænsninger: de må ikke starte med et ciffer og må ikke indeholde bindestreg, mellemrum og lignende ting.

Hvis en streng overtræder begrænsningen, skal den sættes i anførselstegn. I det følgende eksempel opfylder en del af nøglerne ikke betingelserne og er derfor sat i anførselstegn:

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

Man kan kun tilgå sådanne nøgler via kantede parenteser:

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

Også tilgang til sådanne navne via objektegenskab vil føre til en fejl:

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

Men den tredje nøgle er tilladt, og til den kan vi tilgå på begge måder:

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

Givet et objekt:

javascriptlet obj = {
  '1a': 1,
  'b2': 2,
  'c-c': 3,
  'd 4': 4,
  'e5': 5
};

For hvilke nøgler i dette objekt er anførselstegn obligatoriske, og for hvilke er de det ikke?

Задание 2

Ret fejlene, der er begået 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);