Errore di accesso alla proprietà di un oggetto in JavaScript
Quando si accede a una proprietà di un oggetto, il nome di quella proprietà non può essere memorizzato in una variabile. Vediamo perché. Supponiamo di avere il seguente oggetto:
let obj = {a: 1, b: 2, c: 3};
Supponiamo che in una variabile sia memorizzato il nome della proprietà, il cui valore vogliamo ottenere:
let key = 'a';
Proviamo ad accedere alla proprietà dell'oggetto, utilizzando questa variabile:
console.log(obj.key); // undefined
Il codice precedente non funzionerà,
poiché in realtà stiamo cercando una proprietà con il nome
'key', e non la proprietà il cui nome è memorizzato
nella variabile key. Cioè, in realtà
il nostro codice è equivalente al seguente:
console.log(obj['key']);
L'unico modo per accedere a un elemento tramite una chiave da una variabile è scrivere questa variabile tra parentesi quadre:
console.log(obj[key]);
Correggi l'errore commesso nel seguente codice:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Correggi l'errore commesso nel seguente codice:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);