JavaScript的数据类型(二)-类型检查

60 阅读1分钟

JavaScript类型的检测,你知道几种?

有4种,typeof操作符,instanceof操作符,constructor属性,Object.prototype.toString方法

 

 

第一种:typeof 操作符

用typeof操作符可以检测一个变量的数据类型。它返回一个字符串,表示变量的数据类型。

检查原始数据类型,如下图所示

6.typeof检测原始数据类型.png

Typeof null 会返回object的原因,在JavaScript的数据类型(一)解释过,是历史遗留问题。

 

检查引用数据类型,如下图所示:

7.typeof检测引用数据类型.png

在JavaScript里,函数被视为一种特殊的对象类型。

 

 

 

第二种:使用instanceof 操作符

instanceof用于检查一个对象是否是某个特定类的实例。结果返回布尔值,如果对象是指定类的实例,就返回true。instanceof只能用于判断对象的类型,不能用于判断基本数据类型的类型。

 判断原始数据类型,如下图

8.instanceof检测原始数据类型.png

instanceof操作符不能用于判断基本数据类型的类型。  

判断引用数据类型,如下图

9.instanceof检测引用数据类型.png

 

3. 对象的constructor 属性

每个对象都有一个constructor属性,它指向创建该对象的构造函数。

判断各种对象,如下图:

10.construcctor属性.png

 

 

第4 种:Object.prototype.toString 方法

  调用对象的原型方法****toString并传入要检测的对象作为参数,可以获取对象的内部属性[[Class]]的值,从而确定对象的数据类型。

判断各种对象,如下图:

11.ObJect.prototype.toString方法.png

 

 

总结:

有4种方式可以判断数据类型,typeof用于判断原始数据类型,后面3种都是用来判断对象类型的。