数据类型
ECMAScript中有五种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object,object本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制,而所有值最终都将是上述6种数据类型之一。
基本数据类型(值类型)
- number:数字
- string:字符串
- boolean:布尔
- null:空对象指针
- undefined:未定义
引用数据类型
- object对象数据类型
- {}普通对象
- []数组
- /^$/正则
- …
- function函数数据类型
这么多数据类型JS如何检测?
- typeof:检测数据类型的运算符
- instanceof:检测某个实例是否属于这个类
- constructor:获取当前实例的构造器
- Object.prototype.toString.call:获取当前实例的所属类信息
typeof
typeof返回一个字符串,返回的结果是一个字符串,字符串中包含的内容证明了值是属于什么类型的
【局限性】
1.typeof null返回的不是‘null’而是‘object’;因为null虽然是单独的一个数据类型,但是它原本的意思是空指针对象,浏览器使用typeof检测会把它按照对象来检测
2.使用typeof无法具体细分出到底是数组还是正则,因为返回的结果都是‘object’