js类型检测我们在工作中一定遇到,面试中也是经常出现,今天就给大家总结一下,有哪些类型检测的方法
number,string,boolean,null ,undefined,symbol, object,function,正则,array,date,
typeof
可以判断基础数据类型(null 除外),但是引用数据类型中,除了 function 类型以外,其他的也无法判断。
instanceof
可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型
Object.prototype.toString
这个是万能的检测方法,但是我们不能直接调用toString,而是要调用Object原型上的toString(因为toString被其他类型重写了)
Object.prototype.toString.call('')
obj.toString() ===> 这时候toString的this是obj,也就是对obj进行toString
Object.prototype.toString.call(obj) ====> 这时候执行的是原始的toString,且需要对obj执行toString