JavaScript中有 6 個值爲“假”,這六個值是
- false
- null
- undefined
- 0
- '' (空字符串)
- NaN
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( 0 == '' ) // true
console.log( 0 == NaN ) // false
|
結論:
1.false 除了和自身比較爲 true 外,和 0,"" 比較也爲 true
2.null 只和 undefined 比較時爲 true, 反過來 undefined 也僅和 null 比較爲 true,沒有第二個
3.0 除了和 false 比較爲 true,還有空字符串 ''" 和空數組 []比較也爲true
4.空字符串 '' 除了和 false 比較爲 true,還有一個數字 0