Mengapakah \'0 dalam [1,2]\' Kembali Benar dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-10-26 18:20:03
asal
606 orang telah melayarinya

Why Does

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;
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!