JS的数据类型以及判断类型
JS的数据类型
ES5
基本数据类型
-
Number:数字
-
String:字符串
-
Boolean:布尔
-
null:空
-
undefined:未定义
引用数据类型
- object
- function
- array
- 内置对象
ES6
新增基本数据类型
- Symbol:唯一标识(内置对象)
- BigInt:比Number数据类型支持的范围更大的整数值(内置对象)
JS判断数据类型
typeof
- 基本数据类型除了null外都返回对应类型的字符串(NaN返回number),null返回object,
- 复杂数据类型除了function返回function,其他都返回object
object.prototype.toString.call
typeof在判断复杂数据类型时,差点力气
而使用object.prototype.toString.call能判断出所有的基本和复杂数据类型(包括内置对象的里的具体类型),返回值为"[object 数据类型]"
instanceof
obj instanceof 复杂数据类型
只能用来判断复杂数据类型
instanceof 是用于检测构造函数(右边)的 prototype 属性是否出现在某个实例对象obj(左边)的原型链上