js类型转换比较表格
JavaScript类型转换表格
| 值 | 转换为 | |||
| 字符串 | 数字 | 布尔值 | 对象 | |
| undefined | "undefined" | NaN | false | throw TypeError | 
| null | "null" | 0 | false | throw TypeError | 
| true | "true" | 1 | new Boolean(true) | |
| false | "false" | 0 | new Boolean(false) | |
| ""(空字符串) | 0 | false | new String("") | |
| "1.2"(非空,数字) | 1.2 | true | new String("1.2") | |
| "one"(非空,非数字) | NaN | true | new String("one") | |
| 0 | "0" | false | new Number(0) | |
| -0 | "0" | false | new Number(-0) | |
| NaN | "NaN" | false | new Number(NaN) | |
| Infinity | "Infinity" | true | new Number(Infinity) | |
| -Infinity | "-Infinity" | true | new Number(-Infinity) | |
| 1(无穷大,非零) | "1" | true | new Number(1) | |
| {}(任意对象) | -- | -- | true | |
| [](任意数组) | "" | 0 | true | |
| [9](1个数字元素) | "9" | 9 | true | |
| ['a'](其他数组) | 使用join()方法 | NaN | true | |
| function(){}(任意函数) | -- | NaN | true | 
由于JavaScript可以做灵活的类型转换,因此”==“运算符也灵活多变:
null == undefined //true,可以参考上表,在比较之前null转换为false,undefined转换为false,所以相等 "0" == 0 //true,在比较之前将字符串转为数字 0 == false //true,在比较之前将布尔值转为数字 "0" == false //true,在比较之前将字符串和布尔值都转为数字
                    
                
                
            
        
浙公网安备 33010602011771号