Rumah >hujung hadapan web >tutorial js >Nilai Truthy dan Falsy: Apabila semuanya tidak sama dengan JavaScript
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.
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.
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, false == 0 == ''
adalah benar! Kesaksamaan yang ketat mengelakkan kekaburan ini. [] == true
[] == false
Untuk mengelakkan kesilapan, elakkan perbandingan langsung/palsu. Gunakan kesaksamaan yang ketat (===
) apabila perlu. Ini memastikan tingkah laku yang boleh diramal. Boolean()
!!
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
Kebenaran vs Falsy Values:
setiap nilai mempunyai setara boolean:
falsy:
false
, 0
, -0
, 0n
""
null
undefined
Truthy: NaN
segala -galanya. (decrecated) juga palsu.
persamaan longgar (==) perbandingan:
kesamaan longgar membawa kepada hasil yang tidak dijangka dengan nilai -nilai yang benar/palsu:
Kesaksamaan yang ketat memberikan hasil yang lebih jelas:
Perhatikan bahawa
sentiasa. NaN === NaN
false
!x
x == false
===
Boolean(x)
!!x
Memahami nilai Truthy/Falsy dan menggunakan kesaksamaan yang ketat meningkatkan kebolehpercayaan kod. Elakkan perangkap perbandingan longgar untuk mengelakkan sakit kepala debug.
konsep kebenaran/falsy:
Boolean()
==
) dan atau (===
). ===
&&
, ||
, 0
""
menukar ke boolean: null
Gunakan undefined
. NaN
-0
Boolean()
Kes -kes khas: 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!