Omejitve za ključe objektov v JavaScript

Lahko pišemo brez narekovajev ne vse ključe objektov, ampak le tiste, ki izpolnjujejo naslednje omejitve: ne smejo se začeti s številko in ne smejo vsebovati vezaja, presledka in podobnih stvari.

Če niz krši omejitev, ga je treba dati v narekovaje. V naslednjem primeru del ključev ne izpolnjuje pogojev in zato stoji v narekovajih:

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

Do takšnih ključev lahko dostopamo le prek oglatih oklepajev:

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

Tudi dostop do takšnih imen prek lastnosti objekta bo povzročil napako:

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

Tretji ključ pa je dovoljen, in do njega lahko dostopamo na oba načina:

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

Podan je objekt:

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

Za katere ključe tega objekta so narekovaji obvezni, za katere pa ne?

Задание 2

Popravite napake, storjene v naslednji kodi:

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