Erreur d'accès à une propriété d'objet en JavaScript
Lors de l'accès à une propriété d'un objet, le nom de cette propriété ne peut pas être stocké dans une variable. Voyons pourquoi. Supposons que nous ayons un objet comme celui-ci :
let obj = {a: 1, b: 2, c: 3};
Supposons que la variable contienne le nom de la propriété dont nous voulons obtenir la valeur :
let key = 'a';
Essayons d'accéder à la propriété de l'objet en utilisant cette variable :
console.log(obj.key); // undefined
Le code ci-dessus ne fonctionnera pas,
car en réalité, nous recherchons une propriété portant le nom
'key', et non la propriété dont le nom est stocké
dans la variable key. C'est-à-dire que notre code
est en fait équivalent à ce qui suit :
console.log(obj['key']);
La seule façon d'accéder à un élément par une clé provenant d'une variable est d'écrire cette variable entre crochets :
console.log(obj[key]);
Corrigez l'erreur commise dans le code suivant :
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Corrigez l'erreur commise dans le code suivant :
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);