Omezení pro klíče objektů v JavaScriptu

Můžeme psát bez uvozovek ne všechny klíče objektů, ale pouze ty, které splňují následující omezení: nesmí začínat číslicí a nesmí obsahovat uvnitř pomlčku, mezery a podobné věci.

Pokud řetězec porušuje omezení, je třeba jej uzavřít do uvozovek. V následujícím příkladu část klíčů nesplňuje podmínky, a proto jsou v uvozovkách:

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

K takovým klíčům lze přistupovat pouze pomocí hranatých závorek:

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

Také přístup k takovým názvům přes vlastnost objektu povede k chybě:

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

Zatímco třetí klíč je platný, a k němu můžeme přistupovat oběma způsoby:

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

Dán objekt:

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

U kterých klíčů tohoto objektu jsou uvozovky povinné a u kterých ne?

Задание 2

Opravte chyby, které byly provedeny v následujícím kódu:

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