JavaScript的假值列表如下,
值
|
类型
|
0
|
Number
|
NaN (非数字)
|
Number
|
'' (空字符串)
|
String
|
false
|
ブール値
|
null
|
オブジェクト
|
未定義
|
未定義
|
上記の値は判定条件として使用され、以下のような偽値となります。
if(unknown) {
alert('unknown' ); //このコード行は実行されません
}
while(null)
{
alert('null');
}
これらの値はすべて false と同等ですが、互換性はありません。
以下にいくつかの例を示します。
未定義 === null //false
未定義 == null //true
偶数
NaN === NaN //false
NaN == NaN //false
追記: どの演算を使用しても、NaN と NaN は等しくありません。IsNaN(NaN) を使用して NaN 判定問題を解くことができます。
==(!=) 演算子は強制的な型変換を実行しますが、変換規則は非常に奇妙です。以下にいくつかの例を示します。
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false = = 未定義 // false
false == null // false
null == 未定義 // true
' trn ' == 0 // true
推奨== =(!===) 演算子を使用します。