JavaScript中判断数据类型的方法

JavaScript中判断数据类型的方法

在JavaScript中,有6数据类型:String, Number, Boolean, Null, undefined, Object,在ES6中新增了一种Symbol类型。
js中判断数据类型的方法一共有四种: typeof,instanceof,constructor,Object.prototype.toString.call()

typeof

在这里插入图片描述

注意:
1、typeof 数组的时候会返回一个object,可以通过Array.isArray()的方法判断是不是数组类型,如果是数组类型则返回true

在这里插入图片描述

2、typeof null、new Date()、RegExp()、Error()都会返回object。
3、typeof NaN会返回number,NaN也是Number的一种。
instanceof

利用instanceof来判断A是否为B的实例,表达为A instanceof B,返回一个布尔值。instanceof的原理是通过检测对象的原型链上是否含有类型的原型。
在这里插入图片描述

constructor

JS规定,每个构造函数都会有一个prototype属性,即为构造函数的原型对象,而原型对象中会有一个constructor属性指回到构造函数。当利用构造函数创建新对象时,原型上的constructor属性也会被遗传到新创建的对象上,从原型链的角度讲,构造函数也代表了对象的类型。
在这里插入图片描述

Object.prototype.toString.call()

toString()方法是Object原型上的方法,调用此方法,返回格式为[object,xxx],xxx即为判断的结果。对于Object对象可以直接调用Object.prototype.toString(),对于其他数据类型,需要通过.call()来调用。
在这里插入图片描述
参考学习链接,侵权可删:
https://segmentfault.com/a/1190000037747875

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值