Apa Perbedaan Antara Null dan Tidak Terdefinisi dalam JavaScript?

Apa Perbedaan Antara Null dan Tidak Terdefinisi dalam JavaScript?

Panduan ini akan melihat perbedaan antara batal dan tidak terdefinisi nilai dalam JavaScript. Mengetahui perbedaan antara kedua nilai ini penting untuk men-debug dan membuat kode bebas bug.





apa aplikasi yang paling banyak digunakan di dunia

Gunakan konsol browser Anda untuk mengikuti atau mencoba contoh kode yang dibahas dalam panduan ini.





Membandingkan Kesetaraan Nilai Null dan Tidak Terdefinisi

Dalam JavaScript, batal adalah nilai primitif yang digunakan untuk menandakan ketidakhadiran yang disengaja dari nilai objek, sedangkan tidak terdefinisi adalah nilai primitif yang bertindak sebagai pengganti untuk variabel yang belum diberi nilai.





Batal dan tidak terdefinisi nilainya sama jika dibandingkan menggunakan operator kesetaraan JavaScript.

Gunakan operator persamaan ( == ) untuk membandingkan jika batal dan tidak terdefinisi nilainya sama dalam JavaScript.



Buka konsol browser Anda dan masukkan kode berikut, lalu tekan Memasuki.

null == undefined

Outputnya akan memberi Anda sesuatu yang terlihat seperti ini, nilai boolean yang dikembalikan dari benar hanya berarti bahwa dua nilai adalah sama.





Pelajari Lebih Lanjut: Cara Mendeklarasikan Variabel dalam JavaScript

Perbandingan Kesetaraan yang Ketat

JavaScript juga memiliki operator identitas ( === ), juga dikenal sebagai operator persamaan ketat selain operator persamaan ( == )





Operator identitas bekerja lebih keras dengan memeriksa apakah tipe dasar dari nilai yang dibandingkan adalah sama. Ini pada dasarnya berarti bahwa meskipun dua nilai sama, mereka mungkin tidak identik atau benar-benar sama jika tipe dasarnya berbeda.

Untuk menguji kesetaraan yang ketat, gunakan tanda sama dengan tiga kali lipat seperti di bawah ini.

null === undefined

Hasil dari perintah di atas akan memberikan nilai boolean sebesar Salah , Dengan kata lain, kedua nilai tersebut tidak identik meskipun sama.

Menemukan Jenis Null dan Tidak Terdefinisi

Gunakan fungsi JavaScript bawaan jenis() untuk mengetahui jenis nilai yang mendasarinya. Fungsi mengambil parameter tunggal dari nilai yang tipenya ingin Anda temukan.

Terkait: Lembar Cheat JavaScript Ultimate

typeof(null)

Nilai nol bertipe obyek seperti yang Anda lihat dari output di bawah ini.

Menjalankan tes serupa di tidak terdefinisi nilai akan memberi Anda hasil dari tidak terdefinisi .

typeof(undefined)

Bekerja dengan Angka

Untuk mengeksplorasi lebih banyak perbedaan, lakukan tes angka di batal dan tidak terdefinisi nilai-nilai. Jika suatu nilai adalah angka, itu menyiratkan bahwa kita dapat melakukan operasi numerik padanya.

Ada dua cara utama untuk menguji apakah suatu nilai adalah angka dalam JavaScript.

1. Menggunakan terbatas() fungsi—jika nilai yang diuji adalah angka, fungsi kembali benar ; jika tidak, ia kembali Salah .

2. Menggunakan isNaN() fungsi—jika nilai yang diuji adalah angka, maka ia kembali Salah ; jika tidak, ia kembali benar .

Catatan : isNaN adalah kependekan dari 'Bukan Angka'.

Untuk mempermudah, panduan ini hanya akan menggunakan terbatas() berfungsi untuk menguji apakah nilainya adalah angka, tetapi jangan ragu untuk juga mencoba isNaN() fungsi. Kedua fungsi ini mengambil nilai yang Anda inginkan untuk menjalankan tes angka sebagai parameter.

isFinite(null)

Hasilnya adalah benar , arti batal adalah nilai dari jenis nomor dalam JavaScript. Padahal, melakukan tes yang sama pada tidak terdefinisi kembali Salah .

isFinite(undefined)

Jenis Pemaksaan

JavaScript adalah bahasa yang diketik secara longgar, dan karena itu, saat melakukan operasi matematika, JavaScript akan secara otomatis mengonversi hasilnya ke jenis yang diinginkan.

Sayangnya konversi otomatis ini, yang biasa disebut dengan tipe pemaksaan, dapat membawa banyak kejutan bersamanya.

Jalankan operasi numerik berikut pada: batal dan tidak terdefinisi di konsol browser Anda.

1 + null 3 * null 1 + undefined 3 * undefined;

Seperti yang Anda lihat, Anda dapat melakukan beberapa operasi numerik pada batal nilai karena itu nomor yang tidak memiliki nilai. Oleh karena itu, diperlakukan seperti nol. Perhatikan bahwa batal tidak sama dengan nol dalam JavaScript, tetapi entah bagaimana diperlakukan seperti itu dalam kasus ini.

Operasi numerik pada tidak terdefinisi hasil nilai dalam mengembalikan NaN (Bukan Angka). Jika tidak ditangani dengan hati-hati, Anda bisa mengalami ini selama runtime.

Menghindari Bug Runtime

Pemahaman yang baik tentang batal dan tidak terdefinisi nilai sangat penting untuk menghindari bug runtime dalam kode produksi Anda. Bug terkait dengan tidak terdefinisi nilai bisa sulit untuk di-debug dan sebaiknya dihindari.

Pertimbangkan untuk menggunakan TypeScript untuk kode yang sangat diketik yang dikompilasi ke JavaScript. Di TypeScript, kode Anda diperiksa pada waktu kompilasi untuk meminimalkan bug runtime dalam kode produksi Anda.

Membagikan Membagikan Menciak Surel Topik-topik yang berkaitan
  • Pemrograman
  • JavaScript
  • Kiat Pengkodean
Tentang Penulis Baik untuk pergi(36 Artikel Diterbitkan)

Mwiza mengembangkan perangkat lunak berdasarkan profesi dan menulis secara ekstensif di Linux dan pemrograman front-end. Beberapa minatnya termasuk sejarah, ekonomi, politik & arsitektur perusahaan.

More From Mwiza Kumwenda

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan