1. 基本数据类型
Number、String、Boolean、Null、Undefined
Symbol、BigInt
2.引用数据类型
Object (函数与数组也是对象的一种)
3.typeof 判定数据类型
typeof是一个运算符,右侧可以是表达式,也可以是变量
它常见有8种返回结果
'string' 'number' 'boolean' 'object' 'undefined' 'bigint' 'symbol' 'function'
比较特别的是 typeof null 返回的是‘object’,typeof函数对象返回的是 ‘function’
4.NaN非数值
将NaN与任何值(包括其自身)相比的结果都是false,所以要判断某值是否是NaN,不可以用 == 或 === ,可以用isNaN()
isNaN判断一个数值能否被合理地转化为数字
- 数值形式的字符串,如"123"、"-3.14"、"0xabc"、"2.5e+7"等(包括16进制以及科学计数法),返回false
- 空值,null、空字符串""、空数组[]可被合法地转化为0,返回false,undefined、空对象{}、空函数无法转化为数字,返回true
- 布尔值可转化为数字,返回true
- 长度大于1的数组,返回false
- 长度为一的数组,递归取第一个元素,可转化返回false,反之返回true