定义
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