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.

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 Memasukkan.

 null == tidak terdefinisi 

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

instagram viewer

Belajarlah lagi: 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.

 nol tidak terdefinisi 

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

 jenis (nol) 

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.

 jenis (tidak terdefinisi) 

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 akan 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.

terbatas (null) 

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

terbatas (tidak terdefinisi)

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 + nol
3 * nol
1 + tidak terdefinisi
3 * tidak ditentukan;

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.

Surel
Topik-topik yang berkaitan
  • Pemrograman
  • JavaScript
  • Kiat Pengkodean
Tentang Penulis
Mwiza Kumwenda (22 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!

Satu langkah lagi…!

Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan.

.