常用的API
一般来说,我们常用的判断数据类型的方法有typeof()以及instanceof(),当然还有Object.prototype.toString.call()。接下来我们分别来详细的介绍一下他们
typeof()
对于typeof()方法,我们一般用来判断简单数据类型数据,而对于一些复杂数据类型就不能准确的判断。
typeof null === "object"
typeof {} === "object"
typeof [] === "object"
typeof function(){} === "function"
typeof /abc/ === "object"
instanceof()
对于instanceOf方法,我们一般用来判断对象数据类型,此方法就弥补了typeof方法的不足。
console.log([] instanceOf Array) //true
Object.prototype.toString.call()
接下来,我们来介绍 js中最强大的判断数据类型的方法,Object.prototype.toString.call方法,他可以判断任何数据类型,也是原型链中最顶层的方法。
console.log(Object.prototype.toString.call([])) //[object Array]
console.log(Object.prototype.toString.call({})) //[object Object]
console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call('str')) // [object String]