Маҳдудиятҳо барои калидҳои объектҳо дар JavaScript
Мо метавонем бе қошиш нависем на ҳамаи калидҳои объектҳо, балки фақат онҳое, ки қонеъ мекунанд ба маҳдудиятҳои зерин: онҳо наметавонанд бо рақам оғоз шаванд ва наметавонанд дар дохили худ дефис, фосила ва монанди инҳоро дар бар гиранд.
Агар сатр маҳдудиятро вайрон кунад, пас онро бояд дар қошиш гирифт. Дар мисоли зерин як қисми калидҳо шароитро қонеъ намекунанд ва аз ин рӯ дар қошиш қарор доранд:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Ба чунин калидҳо танҳо метавон дастрасӣ ёфт тавассути қавсҳои чоркунҷа:
console.log(obj['1key']);
console.log(obj['key-2']);
Инчунин дастрасӣ ба чунин номҳо тавассути хосияти объект ба хатогӣ меорад:
console.log(obj.1key);
console.log(obj.key-2);
Аммо калиди сеюм - иҷозатдодашуда аст, ва ба он мо метавонем дастрасӣ ёбем ба ҳарду роҳ:
console.log(obj['key3']);
console.log(obj.key3);
Объекти зерин дода шудааст:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
Барои кадом калидҳои ин объект қошишҳо ҳатмианд, ва барои кадом не?
Хатогиҳои зеринро, ки дар коди зерин ба миён омадаанд, ислоҳ кунед:
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);