数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""空字符串 |
Number | 任何非0数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | n/a | undefined |
我们需要知道在JavaScript中的一些比较特别的类型转换,最好能记住:
!!String("") // 返回true !!Boolean("") // 返回false !!Number("") // 返回true !!Boolean([]) // 返回true !!String([]) // 返回false !!Number([]) //false !!String(0) // 返回true #被转为字符串"0" !!Number(0) // 返回false !!Boolean(0) // 返回false [] 转为字符串是 "" // String([]) 返回"" [] 转为数字是 0 // Number([]) 返回0 [] 转为布尔值是 true // Boolean([]) 返回true true 转为数字是 1 // Number(true) 返回1 false 转为数字是 0 // Number(false) 返回0
相等运算符(== ),两个操作数类型不同时,我们要进行转换。