Panduan ini akan melihat perbezaan antara batal dan tidak ditentukan nilai dalam JavaScript. Mengetahui perbezaan antara dua nilai ini penting untuk melakukan debug dan membuat kod bebas pepijat.
papan kekunci komputer riba dell tidak berfungsi windows 10
Gunakan konsol penyemak imbas anda untuk mengikuti atau mencuba contoh kod yang dibincangkan dalam panduan ini.
Membandingkan Kesamaan Nilai Nol dan Tidak Ditentukan
Dalam JavaScript, batal adalah nilai primitif yang digunakan untuk menandakan sengaja adanya nilai objek, sedangkan tidak ditentukan adalah nilai primitif yang bertindak sebagai placeholder untuk pemboleh ubah yang belum diberi nilai.
Batal dan tidak ditentukan nilai sama jika dibandingkan dengan menggunakan operator kesetaraan JavaScript.
Gunakan pengendali persamaan ( == untuk membandingkan jika batal dan tidak ditentukan nilai sama dalam JavaScript.
Buka konsol penyemak imbas anda dan masukkan kod berikut, kemudian tekan Masukkan.
null == undefined
Hasilnya akan memberi anda sesuatu yang kelihatan seperti ini, nilai boolean yang dikembalikan benar bermaksud kedua-dua nilai itu sama.
Ketahui Lebih Lanjut: Cara Menyatakan Pemboleh ubah dalam JavaScript
Perbandingan Persamaan Ketat
JavaScript juga mempunyai pengendali identiti ( === ), juga dikenali sebagai pengendali kesetaraan selain operator persamaan ( == )
Pengendali identiti berusaha lebih jauh dengan memeriksa sama ada jenis nilai yang dibandingkan adalah sama. Ini pada dasarnya bermaksud bahawa walaupun dua nilai sama, mereka mungkin tidak sama atau sama persis jika jenis yang mendasarinya berbeza.
Untuk menguji kesamaan yang ketat, gunakan tanda tiga sama sama seperti di bawah.
null === undefined
Hasil perintah di atas akan memberi anda nilai boolean salah Dengan kata lain, kedua-dua nilai itu tidak sama walaupun sama.
Mengetahui Jenis Null dan Tidak Ditentukan
Gunakan fungsi JavaScript terbina dalam jenis() untuk mengetahui jenis nilai yang mendasari. Fungsi mengambil satu parameter nilai yang jenisnya ingin anda cari.
Berkaitan: Lembaran Menipu JavaScript Terunggul
typeof(null)
Nilai nol adalah jenis objek seperti yang anda lihat dari output di bawah.
Menjalankan ujian serupa di tidak ditentukan nilai akan memberi anda hasil daripada tidak ditentukan .
typeof(undefined)
Bekerja Dengan Nombor
Untuk mengetahui lebih banyak perbezaan, jalankan ujian nombor batal dan tidak ditentukan nilai. Sekiranya nilai adalah nombor, ini menunjukkan bahawa kita dapat menjalankan operasi berangka di atasnya.
Terdapat dua cara utama untuk menguji apakah nilai adalah nombor dalam JavaScript.
1. Menggunakan isFinite () fungsi — jika nilai yang diuji adalah nombor, fungsi akan kembali benar ; jika tidak ia kembali salah .
2. Menggunakan isNaN () fungsi - jika nilai yang diuji adalah nombor, maka ia akan kembali salah ; jika tidak ia kembali benar .
Catatan : isNaN kependekan dari 'is Not a Number'.
Untuk memastikan perkara mudah, panduan ini hanya akan menggunakan isFinite () berfungsi untuk menguji apakah nilainya adalah nombor, tetapi jangan ragu juga untuk mencuba isNaN () fungsi. Kedua fungsi ini mengambil nilai yang anda mahu jalankan ujian nombor sebagai parameter.
isFinite(null)
Hasilnya adalah benar , bermaksud batal adalah nilai jenis nombor dalam JavaScript. Manakala, menjalankan ujian yang sama pada tidak ditentukan kembali salah .
isFinite(undefined)
Jenis Paksaan
JavaScript adalah bahasa yang diketik secara longgar, dan oleh kerana itu, ketika melakukan operasi matematik JavaScript secara automatik akan mengubah hasilnya menjadi jenis yang diinginkannya.
Sayangnya penukaran automatik ini, yang biasanya disebut sebagai pemaksaan jenis, dapat menimbulkan banyak kejutan.
Jalankan operasi angka berikut batal dan tidak ditentukan di konsol penyemak imbas anda.
1 + null
3 * null
1 + undefined
3 * undefined;
Seperti yang anda lihat, anda boleh menjalankan beberapa operasi angka di batal nilai kerana ia adalah nombor yang tidak mempunyai nilai. Oleh itu, ia diperlakukan seperti sifar. Perhatikan bahawa batal tidak sama dengan sifar dalam JavaScript, tetapi entah bagaimana ia diperlakukan seperti itu dalam kes ini.
Operasi berangka pada tidak ditentukan nilai hasil dalam mengembalikan NaN Nilai (Bukan Nombor). Sekiranya tidak dirawat dengan berhati-hati, anda boleh mengalami ini semasa menjalankan.
Mengelakkan Runtime Bugs
Pemahaman yang baik mengenai batal dan tidak ditentukan nilai sangat penting untuk mengelakkan bug runtime dalam kod pengeluaran anda. Bug yang berkaitan dengan tidak ditentukan nilai sukar untuk disebat dan sebaiknya dielakkan.
Pertimbangkan untuk menggunakan TypeScript untuk kod yang ditaip kuat yang menyusun JavaScript. Dalam TypeScript kod anda diperiksa pada waktu kompilasi untuk meminimumkan bug runtime dalam kod pengeluaran anda.
Berkongsi Berkongsi Tweet E-mel Topik-topik yang berkaitan- Pengaturcaraan
- JavaScript
- Petua Pengekodan
Mwiza mengembangkan perisian secara profesional dan menulis secara meluas mengenai Linux dan pengaturcaraan front-end. Beberapa minatnya merangkumi sejarah, ekonomi, politik & seni bina perusahaan.
Lagi Dari Mwiza KumwendaLanggan buletin kami
Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!
Klik di sini untuk melanggan