Napaka pri dostopu do lastnosti objekta v JavaScriptu
Pri dostopu do lastnosti objekta ime te lastnosti ne more biti shranjeno v spremenljivki. Poglejmo, zakaj. Recimo, da imamo dan takšen objekt:
let obj = {a: 1, b: 2, c: 3};
Recimo, da v spremenljivki hranimo ime lastnosti, katere vrednost želimo pridobiti:
let key = 'a';
Poskusimo dostopati do lastnosti objekta z uporabo te spremenljivke:
console.log(obj.key); // undefined
Navedena koda ne bo delovala, saj
dejansko iščemo lastnost z imenom
'key' in ne lastnosti, katere ime je shranjeno
v spremenljivki key. To pomeni, da je
naša koda dejansko enakovredna naslednji:
console.log(obj['key']);
Edini način za dostop do elementa preko ključa iz spremenljivke je zapis te spremenljivke v oglatih oklepajih:
console.log(obj[key]);
Popravite napako, narejeno v naslednji kodi:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Popravite napako, narejeno v naslednji kodi:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);