Feil ved tilgang til egenskap i objekt i JavaScript
Når du aksesserer en egenskap til et objekt, kan ikke navnet på denne egenskapen lagres i en variabel. La oss se hvorfor. La oss si at vi har følgende objekt:
let obj = {a: 1, b: 2, c: 3};
La oss si at en variabel inneholder navnet på egenskapen hvis verdi vi ønsker å hente:
let key = 'a';
La oss prøve å aksessere egenskapen til objektet ved å bruke denne variabelen:
console.log(obj.key); // undefined
Koden ovenfor vil ikke fungere, fordi
vi faktisk leter etter en egenskap med navnet
'key', og ikke egenskapen hvis navn er lagret
i variabelen key. Det vil si at koden vår
faktisk tilsvarer følgende:
console.log(obj['key']);
Den eneste måten å aksessere et element med en nøkkel fra en variabel på, er å skrive denne variabelen i klammeparenteser:
console.log(obj[key]);
Korriger feilen som er gjort i følgende kode:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Korriger feilen som er gjort i følgende kode:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);