Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah "0" dianggap palsu dalam JavaScript dengan "==", tetapi benar dalam pernyataan "jika"?

Mengapakah "0" dianggap palsu dalam JavaScript dengan "==", tetapi benar dalam pernyataan "jika"?

Susan Sarandon
Susan Sarandonasal
2024-11-04 16:22:021016semak imbas

Why is

Menentukan Kesaksamaan dan Kebenaran "0" dalam JavaScript

Dalam bidang JavaScript, konsep kebenaran dan kesaksamaan memainkan peranan yang penting peranan dalam menentukan aliran pelaksanaan program. Ini menimbulkan persoalan: mengapa "0" dianggap palsu dalam JavaScript apabila dinilai dengan pengendali kesamaan "==", namun nilainya bernilai benar apabila digunakan sebagai syarat dalam pernyataan "jika"?

Kesamaan dalam JavaScript

Kesamaan dalam JavaScript diwujudkan melalui pengendali "==", yang melakukan paksaan jenis untuk membandingkan nilai jenis yang berbeza. Dalam kes "0" dan palsu, kedua-duanya dianggap daripada jenis yang sama (boolean) dan oleh itu adalah sama apabila menggunakan operator "==".

Kebenaran dan Kepalsuan

Kebenaran dan kepalsuan dalam JavaScript merujuk kepada penilaian nilai sama ada benar atau salah dalam konteks Boolean, seperti dalam pernyataan "jika". Nilai berikut sememangnya palsu dalam JavaScript:

  • tidak ditentukan
  • null
  • 0
  • "" (rentetan kosong)
  • false

Walau bagaimanapun, apabila digunakan sebagai syarat dalam pernyataan "jika", "0" dinilai kepada benar kerana ia tidak sama secara eksplisit dengan mana-mana nilai palsu yang dipratentukan.

Menyelesaikan Paradoks

Paradoks yang nyata berpunca daripada sifat pemeriksaan kesaksamaan dan penilaian kebenaran dalam JavaScript. Walaupun "0" dan palsu dianggap sama menggunakan pengendali "==", mereka tidak sama rata (!==). Apabila digunakan sebagai syarat dalam pernyataan "jika", kesamaan ketat tidak dikuatkuasakan, membenarkan "0" menilai kepada benar.

Untuk mengelakkan kekaburan ini, disyorkan untuk sentiasa menggunakan kesamaan yang ketat (=== ) apabila membandingkan nilai dalam JavaScript, kerana ia memberikan penilaian yang jelas dan konsisten.

Atas ialah kandungan terperinci Mengapakah "0" dianggap palsu dalam JavaScript dengan "==", tetapi benar dalam pernyataan "jika"?. 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