JS中的数据类型
1.Number 数字
2.String 字符串
3.Boolean 布尔值
3.Null 空对象指针
4.Nndefined 未定义
5.Bigint 大数(ES6新增)
6.symbol 唯一值
引用数据类型
标准普通对象 Object
标准特殊对象 Array、RegExp、Date、Math、Error...
非标准特殊对象 Number、String、Boolean...JS中的基类
可调用/可执行对象 函数 function
数据类型检测方法
1.typeof
最常用的检测方法,缺点就是无法细分对象,检测null的结果也是Object。这个是浏览器的BUG:所有的值在计算中都已二进制编码存储,浏览器中把前三位是000的当做对象,而null的二进制前三位就是000,所以被识别为对象
typeof(1);//Number
typeof('1');//String
typeof([]);//Object
typeof({});//Object
typeof(null);//Object
2.instanceof
用来检测当前值是否在某一个类的原型,但是只能用于引用数据类型
3.constructor 指向当前对象的构造函数本身,缺点:constructor可以被更改
4.Object.prototype.toString.call()
目前来说最标准的类型检测方法,但是缺点是无法细分谁是谁的对象