Rumah  >  Artikel  >  hujung hadapan web  >  Hari xploring Perbandingan JavaScript: Memahami `==`, `===` dan Lagi

Hari xploring Perbandingan JavaScript: Memahami `==`, `===` dan Lagi

WBOY
WBOYasal
2024-09-03 13:26:52295semak imbas

Day xploring JavaScript Comparisons: Understanding `==`, `===`, and More

Perbandingan JavaScript kadangkala boleh menjadi rumit, terutamanya apabila berurusan dengan jenis data yang berbeza seperti null dan undefined. Hari ini, kita akan meneroka cara pengendali perbandingan berfungsi dan nuansa antara == dan === dalam JavaScript.

Perbandingan Asas

Mari mulakan dengan beberapa perbandingan asas:

console.log(2 > 1);   // true
console.log(2 >= 1);  // true
console.log(2 < 1);   // false
console.log(2 == 1);  // false
console.log(2 != 1);  // true

Perbandingan ini adalah mudah dan berfungsi seperti yang anda jangkakan. Tetapi perkara menjadi menarik apabila kami memperkenalkan null dan undefined ke dalam campuran.

Membandingkan null dengan Nombor

Mari lihat apa yang berlaku apabila kita membandingkan null dengan nombor:

console.log(null >= 0);  // true
console.log(null === 0); // false

Berikut ialah perkara yang berlaku:

  • Operator Perbandingan (>=): Apabila anda menggunakan operator perbandingan seperti >=, JavaScript menukar null kepada 0 sebelum membuat perbandingan. Jadi, null >= 0 menjadi 0 >= 0, yang benar.

  • Kesaksamaan Tegas (===): Pengendali kesaksamaan yang ketat tidak melakukan penukaran jenis, jadi null === 0 adalah palsu kerana null bukan jenis yang sama dengan 0.

Membandingkan yang tidak ditentukan dengan Nombor

Sekarang, mari lihat kelakuan undefined:

console.log(undefined >= 0); // false
console.log(undefined == 0); // false
  • Perbandingan dengan undefined: Tidak seperti null, undefined tidak akan ditukar kepada 0 semasa perbandingan. Sebaliknya, hasilnya sentiasa palsu kerana undefined dianggap "bukan nombor" dalam konteks ini.

  • Operator Kesamaan (==): Walaupun menggunakan operator kesamarataan longgar, undefined tidak sama dengan 0. Malah, undefined hanya sama dengan null apabila menggunakan ==.

Pemahaman == lwn ===

  • == (Loose Equality): Operator ini menukarkan operan kepada jenis yang sama sebelum membuat perbandingan. Inilah sebabnya null == 0 adalah palsu, tetapi null == undefined adalah benar.

  • === (Kesaksamaan Tegas): Operator ini menyemak kedua-dua nilai dan jenis, tanpa sebarang penukaran. Inilah sebabnya mengapa null === 0 adalah palsu dan null === undefined juga palsu.

Membungkus

Memahami cara JavaScript mengendalikan perbandingan adalah penting untuk mengelakkan tingkah laku yang tidak dijangka dalam kod anda. Sama ada anda membandingkan nombor, berurusan dengan null atau undefined, atau memutuskan antara == dan ===, mengetahui butiran akan membantu anda menulis JavaScript yang lebih boleh diramal dan boleh dipercayai.

Selamat pengekodan dan jumpa lagi pada yang seterusnya!!!

Atas ialah kandungan terperinci Hari xploring Perbandingan JavaScript: Memahami `==`, `===` dan Lagi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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