javascript中有5种数据类型,分别为:Undefined、Boolean、Object、Number、String,这几类型的数据,当他们处在表达式里面的时候,js解析器会自动将其转换成布尔值来决定当前的条件究竟符合哪个逻辑分支(当然,我们也可以手动通过调用Boolean(var)方法来转换),从而决定执行那个方法体的代码,那把这几种类型的值转换成布尔型时,究竟是遵循怎样的规则呢?
数据类型 | 转换成true的取值 | 转换成false的取值 |
---|---|---|
Undefined | 无 | undefined |
Boolean | true | false |
Object | 非null时都为true | null |
Number | 非0和NaN时都为true | 0和NaN |
String | 非空字符串 | ""(空字符串) |
上述就是js中的转换规则,在开发的时候,一定要认真分析变量的可能取值及转换值,如果预料中得到true的却得到false,那世界就翻转过来咯^_^