通常在以下語句結構中需要判斷真假
if分支語句
while循環語句
for裡的第二個語句
如
if (boo) {
// do something
}
while (boo) {
// do something
}
JavaScript中有6個值為“假”,這六個值是
false
null
undefined
0
'' (空字串)
NaN
這裡面false本身就是布林類型,其它5個則不是。
除了這6個外,其它均為「真」 ,包括物件、陣列、正規、函數等。注意 '0'、'null'、'false'、{}、[]也都是真值 。
雖然這六個值都為“假”,但它們之間並非都相等
程式碼如下:
console.log( false == null ) // false
console.log( false == undefined ) // false
console.log( false == 0 ) // true
console.log( false == '' ) // true
console.log( false == NaN ) // false
console.log( null == undefined ) / / true
console.log( null == 0 ) // false
console.log( null == '' ) // false
console.log( null == NaN ) // false
console.log( undefined == 0) // false
console.log( undefined == '') // false
console.log( undefined == NaN) // false
console.log( undefined == NaN) // false
console.log( 0 == '' ) // true
console.log( 0 == NaN ) // false
對於“==”,以上得出下列結論
false 除了和自身比較為true外,和0,'' 也為true
null只和undefined比較時為true, 反過來undefined也僅和null比較為true,沒有第二個0除了和false比較為true,還有一個空字串'' 空字串''出了和false比較為true,還有一個數字0