Hitilafu ya Kurejea Sifa ya Kitu katika JavaScript
Wakati wa kurejea sifa ya kitu jina la hiyo sifa haliwezi kuhifadhiwa kwenye kutofautisha. Wacha tuone kwa nini. Hebu tuwe na kitu kama hiki:
let obj = {a: 1, b: 2, c: 3};
Hebu tuseme katika kutofautisha kimehifadhiwa jina la sifa, thamani ambayo tunataka kupata:
let key = 'a';
Wacha tujaribu kurejea sifa ya kitu, kwa kutumia kutofautisha huku:
console.log(obj.key); // undefined
Msimbo uliowasilishwa hautaenda kufanya kazi, kwani
kimsingi tunatafuta sifa yenye jina
'key', na sio sifa, jina lake limehifadhiwa
katika kutofautisha key. Hii ina maana
msimbo wetu ni sawa na ufuatao:
console.log(obj['key']);
Njia pekee ya kurejea kipengele kwa ufunguo kutoka kwa kutofautisha ni kurekodi kutofautisha huku kwenye mabano mraba:
console.log(obj[key]);
Sahihisha hitilafu, iliyofanywa katika msimbo ufuatao:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Sahihisha hitilafu, iliyofanywa katika msimbo ufuatao:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);