Virhe olion ominaisuuteen viittaamisessa JavaScriptissä

Kun viittaat olion ominaisuuteen, tämän ominaisuuden nimeä ei voida tallentaa muuttujaan. Katsotaan miksi. Oletetaan, että meillä on tällainen olio:

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

Oletetaan, että muuttujassa tallennettuna on ominaisuuden nimi, jonka arvon haluamme saada:

javascriptlet key = 'a';

Yritetään viitata olion ominaisuuteen käyttämällä tätä muuttujaa:

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

Annettu koodi ei toimi, koska käytännössä etsimme ominaisuutta nimellä 'key', emme ominaisuutta, jonka nimi on tallennettuna muuttujaan key. Toisin sanoen käytännössä meidän koodimme vastaa seuraavaa:

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

Ainoa tapa viitata elementtiin avaimella muuttujasta on kirjoittaa tämä muuttuja hakasulkeisiin:

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

Korjaa seuraavassa koodissa tehty virhe:

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

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

Korjaa seuraavassa koodissa tehty virhe:

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

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