Грешка при приступу особинама објекта у 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']);