Objektum tulajdonság elérési hiba JavaScript-ben
Amikor egy objektum tulajdonságához érünk el, a tulajdonság neve nem tárolható változóban. Nézzük meg, miért. Tegyük fel, hogy van egy ilyen objektumunk:
let obj = {a: 1, b: 2, c: 3};
Tegyük fel, hogy egy változóban tároljuk annak a tulajdonságnak a nevét, amelynek az értékét meg szeretnénk kapni:
let key = 'a';
Próbáljunk meg hozzáférni az objektum tulajdonságához ezt a változót használva:
console.log(obj.key); // undefined
A megadott kód nem fog működni, mert
valójában a 'key' nevű tulajdonságot keressük,
és nem azt a tulajdonságot, amelynek a neve a
key változóban tárolódik. Vagyis valójában
a kódunk a következővel ekvivalens:
console.log(obj['key']);
Az egyetlen módja annak, hogy egy elemhez változóból származó kulccsal férjünk hozzá, az a változó szögletes zárójelbe helyezése:
console.log(obj[key]);
Javítsa ki a következő kódban elkövetett hibát:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Javítsa ki a következő kódban elkövetett hibát:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);