JavaScript-те объектісінің қасиетіне қатынау қатесі
Объектінің қасиетіне қатынаған кезде бұл қасиеттің аты айнымалыда сақтала алмайды. Неге екенін көрейік. Бізде мынадай объекті болсын:
javascriptlet obj = {a: 1, b: 2, c: 3};
Айнымалыда біз алуды қалайтын қасиеттің аты сақталсын:
javascriptlet key = 'a';
Осы айнымалыны пайдаланып, объектінің қасиетіне қатынауға тырысайық:
javascriptconsole.log(obj.key); // undefined
Келтірілген код жұмыс істемейді, себебі
іс жүзінде біз 'key' атымен қасиетті іздейміз,
ал key айнымалысында сақталған атымен қасиетті емес.
Яғни біздің код төмендегіге эквивалентті:
javascriptconsole.log(obj['key']);
Айнымалыдағы кілт бойынша элементке қатынаудың жалғыз тәсілі - бұл айнымалыны шаршы жақшаға жазу:
javascriptconsole.log(obj[key]);
Задание 1
Төмендегі кодта жіберілген қатені түзетіңіз:
javascriptlet obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Задание 2
Төмендегі кодта жіберілген қатені түзетіңіз:
javascriptlet obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);