Ograničenja za ključeve objekata u JavaScript-u

Možemo da pišemo bez navodnika ne sve ključeve objekata, već samo one koji zadovoljavaju sledeća ograničenja: oni ne mogu da počinju cifrom i ne mogu da sadrže u sebi crticu, razmak i slične stvari.

Ako string krši ograničenje, onda ga treba staviti u navodnike. U sledećem primeru deo ključeva ne zadovoljava uslove i zato stoje u navodnicima:

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

Do takvih ključeva se može pristupiti samo preko uglastih zagrada:

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

Takođe, pristupanje takvim imenima preko svojstva objekta će dovesti do greške:

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

Ali treći ključ - je dozvoljen, i njemu možemo da pristupamo oba načina:

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

Dat je objekat:

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

Za koje ključeve ovog objekta navodnici su obavezni, a za koje nisu?

Задание 2

Ispravite greške, napravljene u sledećem kodu:

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