Objekti omadusele pääsemise viga JavaScriptis

Objekti omadusele pääsemisel ei saa selle omaduse nime hoiustada muutujas. Vaatame, miks see nii on. Olgu meil antud järgmine objekt:

javascriptlet obj = {a: 1, b: 2, c: 3};

Olgu muutujas hoitakse omaduse nime, mille väärtust me soovime saada:

javascriptlet key = 'a';

Proovime pääseda objekti omadusele, kasutades seda muutujat:

javascriptconsole.log(obj.key); // undefined

Esitatud kood ei tööta, kuna tegelikult otsime me omadust nimega 'key', mitte omadust, mille nimi on hoitud muutujas key. See tähendab, et tegelikult on meie kood samaväärne järgmisega:

javascriptconsole.log(obj['key']);

Ainus viis elemendile pääsemiseks võtme alusel muutujast on selle muutuja kirjutamine nurksulgudesse:

javascriptconsole.log(obj[key]);
Задание 1

Parandage viga järgmises koodis:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj.prop);
Задание 2

Parandage viga järgmises koodis:

javascriptlet obj = {x: 1, y: 2, z: 3};

let prop = 'x';
console.log(obj['prop']);