js数据类型检测的几种方法的原理及其优缺点
在日常开发中总是会用到类型检测,今天就总结一下常用的类型检测方法
1.typeof (检测基本类型值)
1) 使用时直接
typeof
要检测的类型值,比如
2)
typeof
可以检测number
、string
、boolean
、null
、undefined
、symbol
、Bigint
这些基本类型值。
3)对于引用类型只可以检测出
object
(包括不同对象、数组、正则、日期等等)、function
也就是说不管对象类型具体为什么类型都显示为object
比如:
4)关于
typeof
的一些细节: 返回的结果都是字符串,还有对于null
的检测结果也为object
2.instanceof(可用来检测具体对象类型)
1)使用时
[要检测的数据] instanceof [要验证的对象类型]
比如
2)返回一个
boolean
数据,来判断是否属于数据该类
3)原理就是通过原型链来判断实例的__proto__是否与检测类型的prototype一致,比如
可以看到数组检测
o