Rumah >hujung hadapan web >tutorial js >Nilai Truthy dan Falsy: Apabila semuanya tidak sama dengan JavaScript

Nilai Truthy dan Falsy: Apabila semuanya tidak sama dengan JavaScript

William Shakespeare
William Shakespeareasal
2025-02-09 09:33:10526semak imbas

perbandingan persamaan JavaScript boleh menjadi rumit kerana menaip longgarnya. Artikel ini meneroka nuansa double (==) dan triple (===) sama dengan pengendali, dan konsep nilai -nilai yang benar dan palsu.

Truthy and Falsy Values: When All is Not Equal in JavaScript

Memahami konsep -konsep ini membawa kepada kod yang lebih bersih dan lebih diramalkan.

Truthy and Falsy Values: When All is Not Equal in JavaScript

Takeaways utama:

menaip dinamik JavaScript membolehkan tugasan nilai fleksibel tetapi boleh menyebabkan hasil perbandingan yang tidak dijangka. Kesaksamaan longgar (==) melakukan paksaan jenis, sering membawa kepada hasil yang mengejutkan. Kesaksamaan yang ketat (===) secara langsung membandingkan nilai dan jenis, menghasilkan perbandingan yang lebih dipercayai.
  • Setiap nilai JavaScript adalah sama ada Trongy atau Falsy. Nilai Falsy adalah
  • ,
  • , false, 0, -0, 0n, "", dan null. Semua nilai lain adalah kebenaran, termasuk undefined, NaN, '0', 'false', dan fungsi. [] {} perbandingan kesamaan longgar dengan nilai -nilai yang benar/falsy tidak dapat diramalkan. Sebagai contoh,
  • adalah benar, tetapi
  • adalah palsu, dan false == 0 == '' adalah benar! Kesaksamaan yang ketat mengelakkan kekaburan ini. [] == true [] == false Untuk mengelakkan kesilapan, elakkan perbandingan langsung/palsu. Gunakan kesaksamaan yang ketat (
  • ) dan secara eksplisit menukar kepada nilai boolean (
  • atau ===) apabila perlu. Ini memastikan tingkah laku yang boleh diramal. Boolean() !!
sistem menaip JavaScript:

pembolehubah javascript ditaip longgar:

kesamaan longgar (==) Menukar nilai ke rentetan sebelum perbandingan:
<code class="language-javascript">let x;
x = 1;   // x is a number
x = '1'; // x is a string
x = [1]; // x is an array</code>

kesaksamaan ketat (===) menganggap jenis:
<code class="language-javascript">// all true
1 == '1';
1 == [1];
'1' == [1];</code>

Jenis primitif JavaScript adalah:
<code class="language-javascript">// all false
1 === '1';
1 === [1];
'1' === [1];</code>
,

, undefined, null, boolean, number, dan bigint. Segala -galanya adalah objek (termasuk tatasusunan). string symbol

Truthy and Falsy Values: When All is Not Equal in JavaScript Kebenaran vs Falsy Values:

setiap nilai mempunyai setara boolean:

falsy:

    ,
  • , , , false, 0, -0, 0n "" null undefined Truthy: NaN segala -galanya.
  • Contoh:

(decrecated) juga palsu.

Truthy and Falsy Values: When All is Not Equal in JavaScript

persamaan longgar (==) perbandingan:

kesamaan longgar membawa kepada hasil yang tidak dijangka dengan nilai -nilai yang benar/palsu:

Truthy and Falsy Values: When All is Not Equal in JavaScript

persamaan ketat (===) perbandingan:

Kesaksamaan yang ketat memberikan hasil yang lebih jelas:

Perhatikan bahawa

sentiasa

. NaN === NaN false

Cadangan:

    Elakkan perbandingan langsung:
  1. Gunakan bukan . !x x == false
  2. Gunakan kesaksamaan yang ketat (
  3. ): memberikan lebih banyak hasil yang boleh diramal. ===
  4. Tukar ke boolean:
  5. Gunakan atau untuk penukaran boolean yang jelas. Boolean(x) !!x
Kesimpulan:

Memahami nilai Truthy/Falsy dan menggunakan kesaksamaan yang ketat meningkatkan kebolehpercayaan kod. Elakkan perangkap perbandingan longgar untuk mengelakkan sakit kepala debug.

Soalan Lazim (disingkat untuk keringkasan):

konsep kebenaran/falsy:
    nilai yang dianggap sebagai benar/palsu dalam konteks boolean.
  • Pengendalian JavaScript JavaScript: Jenis paksaan menukarkan nilai ke boolean. Contoh:
  • Lihat senarai di atas.
  • Memeriksa Trongy/Falsy:
  • Gunakan dalam konteks boolean atau
  • fungsi.
  • vs
  • : longgar vs kesamaan ketat; Mengelakkan paksaan jenis. Boolean()
  • Ekspresi Menilai:
  • litar pintas dalam logik dan (==) dan atau (===). ===
  • nilai-nilai palsu bukan boolean: , &&, ||,
  • ,
  • , . 0 "" menukar ke boolean: null Gunakan undefined. NaN -0
  • nilai -nilai palsu dalam operasi logik:
  • mempengaruhi hasil operasi. Boolean() Kes -kes khas:
  • vs , array kosong/objek adalah kebenaran.

Atas ialah kandungan terperinci Nilai Truthy dan Falsy: Apabila semuanya tidak sama dengan JavaScript. 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