Rumah > hujung hadapan web > tutorial js > Mengapa Tatasusunan Kosong Kembali Benar dalam JavaScript tetapi Salah dalam Perbandingan Kesamaan?

Mengapa Tatasusunan Kosong Kembali Benar dalam JavaScript tetapi Salah dalam Perbandingan Kesamaan?

Linda Hamilton
Lepaskan: 2024-11-08 06:06:02
asal
1063 orang telah melayarinya

Why Does an Empty Array Return True in JavaScript but False in an Equality Comparison?

Memahami Paradoks Tatasusunan Kosong dalam JavaScript

Tatasusunan kosong dalam JavaScript boleh kelihatan benar dan salah, yang membawa kepada kekeliruan di kalangan pembangun . Untuk menyelidiki sebab asas, mari kita periksa senario yang berbeza.

jika (arr) mengembalikan benar kerana tatasusunan dianggap sebagai nilai kebenaran dalam JavaScript. Ini disebabkan oleh fakta bahawa tatasusunan ialah objek yang diwarisi daripada pembina Objek, dan objek biasanya dianggap benar dalam pernyataan bersyarat.

Walau bagaimanapun, apabila menggunakan operator kesamaan ==, tingkah laku yang lebih bernuansa muncul. if (arr == false) mengembalikan palsu kerana nilai rentetan tatasusunan kosong ialah rentetan kosong, yang merupakan salah satu daripada enam nilai palsu JavaScript. Ini kerana pengendali kesaksamaan memaksa tatasusunan kepada rentetan menggunakan kaedah toString()nya, yang secara lalai mengembalikan "[objek Objek]" untuk tatasusunan. Walau bagaimanapun, untuk tatasusunan kosong, toString() mengembalikan rentetan kosong.

Untuk menggambarkan lebih lanjut tingkah laku ini, pernyataan if (arr && arr == false) dinilai kepada benar kerana operator logik DAN ( &&) litar pintas ungkapan apabila operan kiri adalah benar. Dalam kes ini, arr adalah benar, jadi bahagian kedua ungkapan tidak dinilai.

Oleh itu, paradoks yang jelas timbul disebabkan oleh tingkah laku yang berbeza dari sifat tatasusunan yang benar dan nilai paksaan yang digunakan dalam perbandingan kesamaan . Memahami nuansa ini adalah penting untuk mengelakkan kekeliruan apabila bekerja dengan tatasusunan kosong dalam JavaScript.

Atas ialah kandungan terperinci Mengapa Tatasusunan Kosong Kembali Benar dalam JavaScript tetapi Salah dalam Perbandingan Kesamaan?. 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