JavaScript中的数据类型有哪些分类

介绍

这篇文章给大家介绍JavaScript中的数据类型有哪些分类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>数据类型判断的方法

在探索数据类型判断方法的时候我们需要知道JS中有哪些数据类型:

我们可以把JS中数据类型分为两类:

1。基本数据类型:定义,Null,布尔值、数字,字符串,象征(es6中新增)

2。引用类型(复杂数据类型):里面包含函数,数组,日期等

判断数据类型的方法有几种

<强> 1. typeof

我相信typeof这个判断数据类型的方法是大家平常用的比较多的,闲话不多说,直接上代码:

控制台。日志(typeof 1);//
控制台。日志(typeof & # 39;你好# 39;);//字符串
控制台。日志(typeof真实);//布尔
控制台。日志(typeof null);//对象
控制台。日志(typeof(1)象征);//符号
控制台。日志(typeof未定义);//未定义
控制台。日志(typeof函数(){});//函数
控制台。日志(typeof[]);//对象
控制台。日志(typeof{});//对象

通过以上代码和输出我们大概可以看的出,“这个判断能判断出大部分的数据类型,但是基本类型中有无效的类型被判断为对象

所以这个判断还不是那么精确,我们需要其它判断方法

<强> 2。运算符用于检测构造函数的原型属性是否出现在某个实例的原型链上

1。运算符左为实例,右为构造函数。即判断左是不是右的实例对象。内部机制是通过原型链来判断的

2。运算符可以精准判断引用数据类型数组,函数,对象,而基本数据类型不能被instanceof精准判断,因为它本身不是一个实例对象

控制台。日志(2 instanceof数量);//假
控制台。日志(新号码(2)运算符号码);//
console.log (& # 39; str # 39;运算符字符串);//错误
控制台。日志(新的字符串(& # 39;str # 39;)运算符字符串);//
控制台。日志([]数组运算符);//真实
控制台。日志([]instanceof对象);//
控制台。日志({}实例对象);//
控制台。日志({}实例数组);//假
console.log(函数(){}运算符函数);//真正的

在以上代码中,我们可以看出这个判断方法还是没解决实际性的问题,比如我们想判断空为空,所以接下来介绍一个精确的判断方法

<强> 3. object.prototype.tostring.call()

1。使用对象对象的原型方法toString,使用电话改变这指向

见代码:

const=Object.prototype.toString;
console.log (a.call (2));//(物体)
console.log (a.call(真));//[对象布尔]
console.log (a.call (& # 39; str # 39;));//(对象的字符串)
console.log (a.call(符号()))//[对象符号]
console.log (a.call ([]));//(对象数组)
console.log (a.call(函数(){}));//(目标函数)
console.log (a.call ({}));//[对象对象]
console.log (a.call(定义));//[对象定义]
console.log (a.call (null));//[对象Null]
console.log (a。调用(新的日期()))//[对象日期]
console.log (a。调用(新的错误()))//[对象错误]
console.log (a。调用(新正则表达式()))//[对象RegExp

见上面输出可知,Object.prototype.toString.call()可以判断出复杂类型中的数组,函数,日期等类型,所以我们知道,当我们需要判断复杂类型时,或者判断简单数据类型中的空为空时我们可以用次方法,判断简单类型中的其他数据类型我们可以用类来判断就可以

关于JavaScript中的数据类型有哪些分类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

JavaScript中的数据类型有哪些分类