Абмежаванні на ключы аб'ектаў у 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);