判断数据类型常用的几种方法总结

124 阅读1分钟

常用的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]