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:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Selliste võtmete juurde saab pääseda ainult nurksulgude kaudu:
console.log(obj['1key']);
console.log(obj['key-2']);
Samuti viib selliste nimedega pöördumine läbi objekti omaduse veani:
console.log(obj.1key);
console.log(obj.key-2);
Kuid kolmas võti on lubatud, ja selle juurde saame pääseda mõlemat moodi:
console.log(obj['key3']);
console.log(obj.key3);
Antud on objekt:
let 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?
Parandage järgmises koodis tehtud vead:
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);