Rumah >hujung hadapan web >tutorial js >Mengapakah \'0 dalam [1,2]\' Kembali Benar dalam JavaScript?
Memahami Operator "in" dalam JavaScript
Operator "in" dalam JavaScript biasanya digunakan untuk menyemak sama ada sifat atau kunci wujud dalam sesuatu objek. Walau bagaimanapun, tingkah laku pelik berlaku apabila menguji kehadiran "0" dalam tatasusunan.
Masalah: Keputusan Benar Tidak Dijangka
Dalam tatasusunan tanpa nilai "0 ", ungkapan berikut dinilai kepada benar:
var x = [1,2]; 0 in x;
Hasil ini nampaknya bertentangan dengan intuisi kerana "0" tidak kelihatan dalam tatasusunan.
Penyelesaian: Pengindeksan, Bukan Perbandingan Nilai
Pengendali "dalam" dalam JavaScript tidak menyemak kewujudan nilai tertentu. Sebaliknya, ia menyemak sama ada harta atau kunci wujud. Dalam kes tatasusunan, indeks dianggap sifat.
Oleh itu, dalam contoh di atas, "0" merujuk kepada indeks tatasusunan. Memandangkan tatasusunan diindeks sifar, indeks "0" adalah sah dan wujud, maka hasil yang benar.
Contoh Intuitif
Untuk menggambarkan konsep ini dengan lebih lanjut:
var x = [1,2]; 1 in x; // true (index 1 exists) 2 in x; // false (index 2 does not exist)
Ringkasan Gelagat
Pengendali "dalam" dalam JavaScript digunakan terutamanya untuk menyemak kewujudan sifat atau kunci dalam objek, termasuk tatasusunan. Apabila digunakan pada tatasusunan, ia menyemak kewujudan indeks yang sah, bukan untuk nilai tertentu yang disimpan pada indeks tersebut.
Atas ialah kandungan terperinci Mengapakah \'0 dalam [1,2]\' Kembali Benar dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!