数据类型检测
一:
一般场景下检测数据类型的方法:typeof (返回的是"“包裹的数据类型)
示例:
console.log(typeof.typeof.typeof[‘abc’])
1.typeof[‘abc’] 返回的是"object”
2.typeof.typeof[‘abc’]返回的是"string"
3.typeof.typeof.typeof[‘abc’] 返回的是"string"
缺点:
数组和对象,甚至null 返回的都是 object
二:
最靠谱的检测数据类型的方法 toString
示例
console.log(Object.prototype.toString.call(‘hello’))
返回的是[object,String]
利用数组截取
console.log(Object.prototype.toString.call(‘hello’).slice(8,-1))
返回的是String
缺点:
对构造函数的检测返回值是 object
示例
class A {
}
cosnt a= new A()
console.log(Object.prototype.toString.call(a).slice(8,-1))
返回值是object
三:
instanceof 一般用来检测某个实例是否属于某个类型
示例
class A {
}
cosnt a= new A()
console.log(a instanceof A) 返回的结果是true