Грешка при пристап до својство на објект во JavaScript
При пристап до својство на објект името на тоа својство не може да се чува во променлива. Ајде да видиме зошто. Нека имаме даден ваков објект:
let obj = {a: 1, b: 2, c: 3};
Нека во променливата се чува името на својството, чија вредност сакаме да ја добиеме:
let key = 'a';
Ќе се обидеме да пристапиме до својството на објектот, користејќи ја оваа променлива:
console.log(obj.key); // undefined
Дадениот код нема да работи, бидејќи
всушност ние бараме својство со име
'key', а не својство чие име се чува
во променливата key. Односно всушност
нашиот код е еквивалентен на следниов:
console.log(obj['key']);
Единствениот начин да се пристапи до елемент по клуч од променлива е запишување на таа променлива во квадратни загради:
console.log(obj[key]);
Исправете ја грешката, направена во следниов код:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Исправете ја грешката, направена во следниов код:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);