一、js的数据类型
(1)、 7种原始数据类型
- undefined: typeof instance == 'undefined' ,是全局对象的一个属性,表示声明了但是没有赋值。
- Boolean: typeof instance == 'boolean',表示一个逻辑实体,可以有两个值:true 和false。
- Number: typeof instance == 'number',是一种数字类型。
- String: typeof instance == 'string'
- BigInt: typeof instance == 'bingint',可以用任意精度表示整数,可以安全地存储和操作大整数,甚至是超过数字的安全整数限制。
- Symbol:typeof instance == 'symbol'
- Null:typeof instance == 'object',是一个字面量,不是全局对象的一个属性,表示缺少的标志,指示变量未指向任何对象。把null作为尚未创建的对象也许更好理解。
(2)、 引用类型
- Object: typeof instance == 'object'。任何构造函数对象实例的非特殊数据结构类型,也用作数据结构:new Object,new Array,new Map,new Set 和几乎通过new 关键字创建实例。
二、类型判断的方法
- typeof: 返回对应的数据类型,不是很准确,判断null返回的是object
- instanceof: A instanceof B 判断当前A是否是出现B的原型链上
- Object.prototype.toString(): 每个对象都有一个toString()方法,判断某个对象属于那个内置类型,但是Object.protoType.toString()是被继承时会被重写,可以使用Object.prototype.toString().call()