Chyba přístupu k vlastnosti objektu v JavaScriptu
Při přístupu k vlastnosti objektu nelze název této vlastnosti uložit do proměnné. Podívejme se proč. Předpokládejme, že máme následující objekt:
let obj = {a: 1, b: 2, c: 3};
Předpokládejme, že v proměnné je uložen název vlastnosti, jejíž hodnotu chceme získat:
let key = 'a';
Zkusme přistoupit k vlastnosti objektu pomocí této proměnné:
console.log(obj.key); // undefined
Uvedený kód nebude fungovat, protože
ve skutečnosti hledáme vlastnost s názvem
'key', a ne vlastnost, jejíž název je uložen
v proměnné key. To znamená, že ve skutečnosti
náš kód je ekvivalentní následujícímu:
console.log(obj['key']);
Jediným způsobem, jak přistoupit k prvku pomocí klíče z proměnné, je zápis této proměnné v hranatých závorkách:
console.log(obj[key]);
Opravte chybu v následujícím kódu:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Opravte chybu v následujícím kódu:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);