在javascript中进行类型检查,主要有两种方式。一种是利用typeof操作符,一种是利用javascript所有对象都有的一个constructor属性。
一:先来分析typeof
用typeof来进行类型检查的方式:
用typeof进行类型检查,所有的自定义类型都会返回object,所以不能区分出到底是个对象。
二:用construtor属性
constructor属性的原理:所有的javascript对象都有一个constructor属性,它引用的是原本用来构造该对象的那个函数。
用constructor属性进行类型检查的方式:
代码:
输出:
所以,用construcor能够尽心更加准确的类型检测。
对于两种方法还有一个差别,看代码:
它们对待空对象的态度不太一样