Ограничувања на клучеви на објекти во 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);