Fout met toegang tot eienskap van 'n voorwerp in JavaScript
Wanneer jy toegang tot 'n eienskap van 'n voorwerp verkry, kan die naam van daardie eienskap nie in 'n veranderlike gestoor word nie. Kom ons kyk hoekom. Laat ons sê ons het die volgende voorwerp:
let obj = {a: 1, b: 2, c: 3};
Laat ons sê die naam van die eienskap wie se waarde ons wil kry, is gestoor in 'n veranderlike:
let key = 'a';
Kom ons probeer om toegang tot die eienskap van die voorwerp te verkry, deur hierdie veranderlike te gebruik:
console.log(obj.key); // undefined
Die gegewe kode sal nie werk nie, want
in werklikheid soek ons na 'n eienskap met die naam
'key', en nie die eienskap wie se naam gestoor is
in die veranderlike key nie. Met ander woorde,
ons kode is eintlik gelykstaande aan die volgende:
console.log(obj['key']);
Die enigste manier om toegang tot 'n element volgens 'n sleutel vanuit 'n veranderlike te verkry, is om daardie veranderlike tussen vierkantige hakies te skryf:
console.log(obj[key]);
Korrigeer die fout wat in die volgende kode gemaak is:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Korrigeer die fout wat in die volgende kode gemaak is:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);