Rumah >hujung hadapan web >tutorial js >Mengapa NaN JavaScript Mengembalikan \'Nombor\' dalam `typeof`?
Enigma NaN: Mengapa Ia Mengembalikan "Nombor" dalam Jenis?
Walaupun namanya, "Bukan Nombor" (NaN ), nilai enigmatik ini berada di bawah bidang jenis angka. Tingkah laku pelik ini boleh dikaitkan dengan perwakilan dalaman data berangka JavaScript.
NaN mewakili nilai khusus yang berada di luar had jenis angka. Walaupun semua nombor, termasuk yang memerlukan pembundaran, mungkin menghadapi kekangan yang sama, NaN membentuk kes yang unik kerana penetapannya yang khusus.
Percanggahan jelas NaN sebagai jenis nombor menjadi lebih menarik apabila mempertimbangkan perbandingan yang melibatkan NaN . Bertentangan dengan jangkaan, nilai NaN yang berbeza dianggap sebagai berbeza, menyebabkan nilai tersebut dianggap tidak sama walaupun jika dibandingkan dengan diri mereka sendiri.
Untuk menjelaskan lebih lanjut, JavaScript mengklasifikasikan perbandingan sebagai sama ada "memberi isyarat" atau "tidak memberi isyarat." Perbandingan isyarat menimbulkan pengecualian apabila NaN terlibat, manakala perbandingan bukan isyarat hanya mengembalikan palsu. Perbezaan ini jelas dalam ujian kesamaan dan ketidaksamaan, di mana x == x menilai kepada palsu jika x ialah "NaN senyap."
Akhirnya, rasional di sebalik pengelasan NaN sebagai jenis nombor dan gelagat uniknya dalam perbandingan bertitik tolak kepada perwakilan angka asas JavaScript dan komitmennya untuk membezakan antara nilai NaN yang berbeza. Memahami nuansa ini adalah penting untuk pengaturcaraan JavaScript yang berkesan, membolehkan pembangun menavigasi selok-belok jenis data dan perbandingan.
Atas ialah kandungan terperinci Mengapa NaN JavaScript Mengembalikan \'Nombor\' dalam `typeof`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!