Грешка при достъп до свойство на обект в 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']);