JavaScript 判断对象类型的三种方法:typeof、instanceof 与 constructor

作者:纸飞机时间:2026-10-26 18:00:27浏览:378

本文介绍JavaScript中判断变量类型的三种常用方法:typeof、instanceof和constructor。typeof适用于基本类型,但对引用类型仅返回object;instanceable用于判断实例关系;constructor通过构造函数属性进行精确匹配。掌握这三种方法可灵活应对不同场景下的类型检测需求。

第一种方法:typeof

使用 typeof 判断基本类型

该方法支持获取基本类型的类型信息,包括 boolean、string、number、function、object 和 undefined。


具体使用方式如下:


定义变量 v 并赋值为布尔值 true,注释中注明其预期类型为字符串(实际为布尔):


执行 typeof 运算符作用于变量 v,返回结果为 boolean。


注意:Array、Date 和 null 等引用类型在使用 typeof 时均返回 object,而 undefined 类型的值为 undefined。


第二种方法:instanceof

使用 instanceof 判断实例关系

当确定一个值是 function 或者 object 时,可以使用 instanceof 运算符来了解更详细的类型信息。


具体使用方式如下:


创建一个新的 Date 对象并赋值给变量 v:


判断变量 v 是否为 object 的实例,结果为 true。


判断变量 v 是否为 Date 的实例,结果同样为 true。


第三种方法:constructor

利用 constructor 属性精确判断

比 instanceof 更一步到位的方法是利用构造函数的属性进行判断。


创建一个新的 Date 对象并赋值给变量 v:


通过比较变量 v 的 constructor 属性与 Object 构造函数是否相等,结果为 true。注意:等号右边必须是待检测类型对应的构造函数。


通过比较变量 v 的 constructor 属性与 Date 构造函数是否相等,结果为 true。

作者最新文章