Chyba pri prístupe k vlastnosti objektu v JavaScript
Pri prístupe k vlastnosti objektu nemôže byť meno tejto vlastnosti uložené v premennej. Pozrime sa prečo. Majme daný takýto objekt:
let obj = {a: 1, b: 2, c: 3};
Nech v premennej je uložené meno vlastnosti, ktorej hodnotu chceme získať:
let key = 'a';
Skúsme pristúpiť k vlastnosti objektu pomocou tejto premennej:
console.log(obj.key); // undefined
Uvedený kód nebude fungovať, pretože
v skutočnosti hľadáme vlastnosť s menom
'key', a nie vlastnosť, ktorej meno je uložené
v premennej key. To znamená, že v skutočnosti
náš kód je ekvivalentný nasledujúcemu:
console.log(obj['key']);
Jediným spôsobom, ako pristúpiť k prvku pomocou kľúča z premennej, je zápis tejto premennej v hranatých zátvorkách:
console.log(obj[key]);
Opravte chybu, ktorá bola urobená v nasledujúcom kóde:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Opravte chybu, ktorá bola urobená v nasledujúcom kóde:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);