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:

javascriptlet obj = {a: 1, b: 2, c: 3};

Hebu tuseme katika kutofautisha kimehifadhiwa jina la sifa, thamani ambayo tunataka kupata:

javascriptlet key = 'a';

Wacha tujaribu kurejea sifa ya kitu, kwa kutumia kutofautisha huku:

javascriptconsole.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:

javascriptconsole.log(obj['key']);

Njia pekee ya kurejea kipengele kwa ufunguo kutoka kwa kutofautisha ni kurekodi kutofautisha huku kwenye mabano mraba:

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

Sahihisha hitilafu, iliyofanywa katika msimbo ufuatao:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj.prop);
Задание 2

Sahihisha hitilafu, iliyofanywa katika msimbo ufuatao:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj['prop']);