Objekti võtmete piirangud JavaScriptis

Me ei saa kirjutada ilma jutumärkideta kõiki objekti võtmeid, vaid ainult neid, mis vastavad järgmistele piirangutele: need ei tohi alata numbriga ega sisaldada sidekriipsu, tühikut ja muud sellist.

Kui string rikub piirangut, siis tuleb see panna jutumärkidesse. Järgmises näites osa võtmetest ei vasta tingimustele ja seetõttu on need jutumärkides:

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

Selliste võtmete juurde saab pääseda ainult nurksulgude kaudu:

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

Samuti viib selliste nimedega pöördumine läbi objekti omaduse veani:

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

Kuid kolmas võti on lubatud, ja selle juurde saame pääseda mõlemat moodi:

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

Antud on objekt:

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

Milliste selle objekti võtmete puhul on jutumärgid kohustuslikud, ja milliste puhul mitte?

Задание 2

Parandage järgmises koodis tehtud vead:

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