数据类型
基础类型 Number、String、 Boolean、Null、undefined、Symbol(es6)
引用类型 Object、Array、Function、Date、RegExp
注意
Symbol 类型的对象永远不相等,即便创建的时候传入相同的值
数据类型转换结果:
- (1)、Number 转换严格,只要一个字符无法转换,整个字符会被转换成NaN。特殊:null转为0
- (2)、parseInt 从左往右解析,如果第一个字符不能解析为数值,则返回NaN。如果第一个字符可以解析则,则返回到不能解析字符位置的数值
- (3)、String 可以转换null和undefined。特殊:object转[object Object]
- (4)、toString 无法转换null和undefined。特殊:object转[object Object]
- (5)、Boolean ' '转换为true,其它都是false
| Number | parseInt | String | toString | Boolean | |
|---|---|---|---|---|---|
| undefined | NaN | NaN | 'undefined' | error | false |
| null | 0 | NaN | 'null' | error | false |
| 0 | 0 | 0 | '0' | '0' | false |
| '0' | 0 | 0 | '0' | '0' | true |
| -0 | 0 | 0 | '0' | '0' | false |
| '' | 0 | NaN | '' | '' | false |
| ' ' | 0 | NaN | ' ' | '' | true |
| 0.0 | 0 | 0 | '0.0' | '0.0' | false |
| NaN | NaN | NaN | 'NaN' | 'NaN' | false |
| true | 1 | NaN | 'true' | 'true' | true |
| false | 0 | NaN | 'false' | 'false' | false |
| '0123' | 123 | 123 | '0123' | '0123' | true |
| '1234king' | NaN | 1234 | '1234king' | '1234king' | true |
| 'king1234' | NaN | NaN | 'king1234' | 'king1234' | true |
| [] | 0 | NaN | '' | '' | true |
| [2] | 2 | 2 | '2' | '2' | true |
| [[2]] | 2 | 2 | '2' | '2' | true |
| [1,2] | NaN | 1 | '1,2' | '1,2' | true |
| {} | NaN | NaN | [object Object] | [object Object] | true |
| let f1 = function(){} | NaN | NaN | 'function(){}' | 'function(){}' | true |
| let f2 = (a) => {} | NaN | NaN | '(a) => {}' | '(a) => {}' | true |
| function f3(){} | NaN | NaN | 'function f3(){}' | 'function f3(){}' | true |
