JS的真值和假值

定义

JS中的每个值都有固定的布尔值,在布尔表达式中评估该值时,该值就会转换为固有的布尔值。这些固有的值称为真值或假值。结果为false的值称为假值,其余的皆为真值。

假值

JS中有六个假值:

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