1.基础数据类型
- number,boolean,string,null,undefined
2.引用数据类型
- object ----- [ ],{ },/reg/, Date日期对象,Math对象,其他实例对象
- function
3.ES6新增
- symbol
4.检测数据类型方式
- typeof -----> NaN不是有效数字,但属于number类型 typeof NaN = Number
- NaN与NaN本身不相等,检测是否为有效数字可食用isNaN(),该方法会隐式的把其他数据类型转换为number类型,能转为number类型则isNaN为false,因为他是一个有效的数字,反之亦然。
5.object
- 常见的object也许是这种 let obj = { a: 100 },key一般情况下都为基础数据类型,也有用引用类型作为key的情况,例如 let a = { x: 100 },b = { y:200 }; b[a] = 2000;实际上这样子也是可以的,但实际上并不是如此,
如上图所虽然b[a] = 2000赋值成功,但实际的键值并不是a,而是[object object],因为对象的属性名会默认把引用类型调用toString()方法进行转化,所以会出现这样的偏差。