Klaida kreipiantis į objekto savybę JavaScript
Kreipiantis į objekto savybę, šios savybės pavadinimas negali būti saugomas kintamajame. Pažiūrėkime kodėl. Tarkime, mes turime šį objektą:
let obj = {a: 1, b: 2, c: 3};
Tarkime kintamajame yra saugomas savybės pavadinimas, kurio reikšmę mes norime gauti:
let key = 'a';
Pabandykime kreiptis į objekto savybę, naudojant šį kintamąjį:
console.log(obj.key); // undefined
Pateiktas kodas neveiks, nes
iš esmės mes ieškome savybės, kurios pavadinimas
'key', o ne savybės, kurios pavadinimas saugomas
kintamajame key. Tai reiškia, kad iš esmės
mūsų kodas yra lygiavertis šiam:
console.log(obj['key']);
Vienintelis būdas kreiptis į elementą pagal raktą iš kintamojo yra šio kintamojo įrašas laužtiniuose skliaustuose:
console.log(obj[key]);
Ištaisykite klaidą, padarytą šiame kode:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Ištaisykite klaidą, padarytą šiame kode:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);