Rujukan Sifat Objek yang Salah dalam JavaScript
Apabila merujuk kepada sifat objek, nama sifat tersebut tidak boleh disimpan dalam pembolehubah. Mari kita lihat mengapa. Katakan kita mempunyai objek seperti berikut:
let obj = {a: 1, b: 2, c: 3};
Katakan dalam pembolehubah disimpan nama sifat, yang nilainya kita ingin dapatkan:
let key = 'a';
Mari cuba rujuk kepada sifat objek, menggunakan pembolehubah ini:
console.log(obj.key); // undefined
Kod yang diberikan tidak akan berfungsi,
kerana sebenarnya kita mencari sifat dengan nama
'key', dan bukan sifat yang namanya disimpan
dalam pembolehubah key. Iaitu, sebenarnya
kod kami setara dengan yang berikut:
console.log(obj['key']);
Satu-satunya cara untuk merujuk kepada elemen menggunakan kunci dari pembolehubah adalah dengan menulis pembolehubah tersebut dalam kurungan segi empat sama:
console.log(obj[key]);
Betulkan kesilapan yang dilakukan dalam kod berikut:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Betulkan kesilapan yang dilakukan dalam kod berikut:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);