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!