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ä:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Näihin avaimiin voi viitata vain hakasulkeiden kautta:
console.log(obj['1key']);
console.log(obj['key-2']);
Myös viittaaminen sellaisiin nimiin objektin ominaisuuden kautta johtaa virheeseen:
console.log(obj.1key);
console.log(obj.key-2);
Mutta kolmas avain on sallittu, ja siihen voimme viitata molemmilla tavoilla:
console.log(obj['key3']);
console.log(obj.key3);
Annettu objekti:
let 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?
Korjaa seuraavassa koodissa tehdyt virheet:
let 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);