Rumah >hujung hadapan web >tutorial js >Mengapa Operator \'dalam\' Kembali Benar untuk Elemen Tidak Wujud dalam Tatasusunan JavaScript?
Menyingkap Enigma: Mengapa Operator "dalam" Mengembalikan Benar untuk Elemen Tidak Wujud dalam Tatasusunan JavaScript
Pengendali "dalam" dalam JavaScript , walaupun berguna untuk menyemak kewujudan harta, kadangkala boleh berkelakuan di luar jangkaan. Contohnya, apabila digunakan pada tatasusunan, ia boleh kembali benar walaupun elemen yang diuji nampaknya tidak wujud.
Pertimbangkan contoh ini:
var x = [1, 2]; 0 in x; // true
Menariknya, ini kembali benar, walaupun tatasusunan x tidak mengandungi nilai 0. Untuk memahami tingkah laku ini, kita mesti menyelidiki konsep di sebalik fungsi pengendali "dalam".
Makna Sebenar Operator "dalam"
Bertentangan dengan penampilan permukaannya, pengendali "dalam" tidak memeriksa kehadiran nilai elemen tertentu dalam tatasusunan. Sebaliknya, ia menentukan sama ada sifat atau indeks yang disediakan adalah sah untuk tatasusunan itu.
Dalam kes tatasusunan, pengendali "dalam" menguji indeks yang sah. Indeks tatasusunan bermula dari 0, yang bermaksud 0, 1, dan seterusnya, adalah indeks yang sah untuk tatasusunan x. Oleh itu, 0 dalam x menilai kepada benar.
Contoh Tambahan
Untuk menggambarkan lagi konsep ini:
var x = [1, 2]; 1 in x; // true 2 in x; // true
Kedua-dua 1 dan 2 adalah sah indeks untuk tatasusunan x, jadi pengendali "dalam" mengembalikan benar untuk kedua-duanya.
Sebaliknya:
var x = [1, 2]; 3 in x; // false
Memandangkan 3 bukan indeks yang sah untuk tatasusunan x, Operator "in" mengembalikan palsu.
Kesimpulan:
Memahami fungsi sebenar operator "in" adalah penting untuk menavigasi tatasusunan JavaScript dengan berkesan. Ingat bahawa ia menilai kesahihan sifat atau indeks, dan bukannya kehadiran nilai elemen tertentu. Cerapan ini membolehkan pembangun menentukan sifat tatasusunan dengan tepat dan bekerja dengannya dengan yakin.
Atas ialah kandungan terperinci Mengapa Operator \'dalam\' Kembali Benar untuk Elemen Tidak Wujud dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!