Ограничења на кључеве објеката у JavaScript

Можемо писати без наводника не све кључеве објеката, већ само оне који задовољавају следећа ограничења: они не могу почињати са цифром и не могу да садрже унутар себе цртицу, размак и слично.

Ако стринг крши ограничење, онда га треба ставити у наводнике. У следећем примеру део кључева не задовољава услове и зато стоје у наводницима:

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

До таквих кључева можемо приступити само преко угластих заграда:

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

Такође, приступ таквим именима преко својства објекта ће довести до грешке:

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

Али трећи кључ - дозвољен је, и до њега можемо приступити оба начина:

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

Дат је објекат:

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

За које кључеве овог објекта наводници су обавезни, а за које нису?

Задание 2

Исправите грешке, учињене у следећем коду:

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