常用检测数据类型的方法以及返回值

83 阅读1分钟

第一种:typeof检测

返回值:对应数据类型的小写字符串  例:Number 数字类型 返回就是 小写的number

第二种:instanceof检测

返回值:返回值是布尔值(true/false),判断前者是否在后者的原型对象上

第三种:constructor检测

返回值:是构造函数。注意:它的原型可以被修改

第四种:Object.getPrototypeOf() 检测

返回值:返回值是原型,获取原型和想要的原型对象作对

第五种: Object.prototype.toString.call() 检测

返回值:返回的是一个[]中括号包裹的类型。优点:这个方法查的特别的准,可以检查任意类型

总结: 1、typeof检测,返回的是对应类型的字符串,这个方法常用于检测基本数据类型,检测null和引用数据类型不准确;

2、instanceof检测,返回的是布尔值,只要是基本数据类型就是false,只要是引用数据类型,并且右边是Object就是true,可以很好区分是哪一大类型

3、constructor 返回的是构造函数,可以检测基本数据类型和引用数据类型, 但是有一定缺陷,就是原型可以被修改

4、Object.getPrototypeof() 返回的是原型

5、 Object.prototype.toString.call() 检测 任何数据类型都可以检测