Objektien avainten rajoitukset JavaScriptissä

Voimme kirjoittaa ilman lainausmerkkejä vain ne objektien avaimet, jotka täyttävät seuraavat rajoitukset: ne eivät voi alkaa numeerisella merkillä eivätkä ne voi sisältää väliviivaa, välilyöntiä tai vastaavia asioita.

Jos merkkijono rikkoo rajoituksen, se on asetettava lainausmerkkeihin. Seuraavassa esimerkissä osa avaimista ei täytä ehtoja ja siksi ne ovat lainausmerkeissä:

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

Näihin avaimiin voi viitata vain hakasulkeiden kautta:

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

Myös viittaaminen sellaisiin nimiin objektin ominaisuuden kautta johtaa virheeseen:

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

Mutta kolmas avain on sallittu, ja siihen voimme viitata molemmilla tavoilla:

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

Annettu objekti:

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

Mille tämän objektin avaimille lainausmerkit ovat pakollisia, ja mille eivät?

Задание 2

Korjaa seuraavassa koodissa tehdyt virheet:

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