Rumah > hujung hadapan web > tutorial js > Mengapa Tatasusunan Kosong Nampak Betul dan Salah dalam JavaScript?

Mengapa Tatasusunan Kosong Nampak Betul dan Salah dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-11-07 16:33:02
asal
548 orang telah melayarinya

Why Does an Empty Array Seem Both True and False in JavaScript?

Menyingkap Sifat Enigmatik Tatasusunan Kosong dalam JavaScript

Tatasusunan kosong dalam JavaScript mempamerkan dualiti yang pelik, nampaknya benar dan palsu serentak. Tingkah laku yang membingungkan ini berpunca daripada penukaran tersirat yang dilakukan oleh pengendali kesaksamaan. Untuk menyelidiki mekanisme asas, mari kita terokai coretan kod di bawah:

<br>var arr = [];<br>console.log('Array:', arr);<br>if (arr) console.log("Ia benar!");<br>if (arr == false) console.log("It's false!");<br>if (arr && arr == false) console .log("...apa??");<br>

Pernyataan if pertama mengesahkan kehadiran objek arr (Array ialah instance bagi Objek), mengembalikan benar. Walau bagaimanapun, pernyataan if dengan arr == false membandingkan nilai objek arr dengan nilai primitif false. Untuk melakukan perbandingan ini, arr.toString() digunakan secara tersirat, mengembalikan rentetan kosong "".

Hasil ini dijelaskan oleh gelagat Array.join(). Apabila toString() dipanggil pada tatasusunan, ia mengembalikan hasil gabungan untuk memanggil join() pada tatasusunan itu. Oleh kerana tatasusunan kosong, hasilnya ialah rentetan kosong, yang termasuk dalam kategori nilai palsu dalam JavaScript. Oleh itu, arr.toString() menilai kepada false, mengakibatkan if (arr == false) kembali benar.

Kes pelik if (arr && arr == false) menyerlahkan operasi logik DAN ( &&) pengendali. Untuk keseluruhan pernyataan adalah benar, kedua-dua syarat mesti menilai kepada nilai kebenaran. arr dengan sendirinya adalah benar, tetapi arr == false menilai kepada benar kerana penukaran tersirat yang disebutkan di atas. Oleh itu, kata hubung itu menilai kepada benar, membawa kepada yang kelihatan bercanggah "Ia palsu!" keluaran.

Atas ialah kandungan terperinci Mengapa Tatasusunan Kosong Nampak Betul dan Salah 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