number 、 string 、 boolean 、 null 、 undefined 、 symbol(ES6新增)数组
Object ( Array 、 Date 、 RegExp ) 、 Function浏览器
typeof 、 instanceof 、 constructor 、 Object.prototype.toString.call() 函数
typeof是用于检测数据类型的一元运算符,与+ - * /
同样。prototype
typeof [value]
3d
包含对应数据类型的字符串code
被检测的数据类型 | 检测结果 |
---|---|
Symbol | "symbol" |
Number | "number" |
Boolean | "boolean" |
Undefined | "undefined" |
Function | "function" |
Null | "object" |
Object | "object" |
Date | "object" |
RegExp | "object" |
Array | "object" |
判断当前实例是否属于某个类,若是是则返回 true,不然返回 false。cdn
[example] instanceof [class]
对象
布尔值blog
对于特殊的数据类型 null 和 undefined,他们的所属类分别是 Null 和 Undefined,可是浏览器把这两个类保护起来了,不容许在外面访问使用。原型链
constructor 为实例原型上的方法,指向它的构造函数。利用这一点,获取某实例的constructor 属性值,检测是否为所属的类,从而进行数据类型检测。
[example].constructor===[class]
布尔值
Object.prototype.toString.call([value])
字符串,格式为:[Object 当前被检测实例所属的类]
以上就是本篇关于JS数据类型检测的所有内容,若是有误,欢迎指出。