Ralat Akses kepada Array Elemen dalam JavaScript
Kadang-kadang pengaturcara pemula cuba bekerja dengan array elemen seolah-olah mereka mempunyai satu elemen sahaja. Mari kita lihat apakah intipati ralat ini.
Diberi paragraf berikut:
<p>1</p>
<p>2</p>
<p>3</p>
Katakan seorang pengaturcara ingin menetapkan teks yang sama untuk setiap paragraf. Untuk melakukan ini, mereka mendapatkan rujukan kepada elemen-elemen ini dalam pembolehubah:
let elems = document.querySelectorAll('p');
Kemudian, pengaturcara kita secara silap mengakses pembolehubah tersebut seolah-olah ia mengandungi satu elemen, bukan sebuah array. Akibatnya, teks paragraf tidak akan berubah, tetapi, yang penting, tiada ralat akan muncul dalam konsol:
elems.textContent = '!';
Penyelesaian yang betul dalam kes ini ialah mengulangi array elemen menggunakan gelung dan untuk setiap elemen secara berasingan laksanakan operasi yang diperlukan:
for (let elem of elems) {
elem.textContent = '!';
}