判断数据类型方式Object.prototype.toString.call(),instanceof,typeof,Array.isArray()

112 阅读1分钟
1.Object.prototype.toString.call()


可以判断任何类型,包括对null,undefined的判断


2.instanceof

instanceof 的内部机制是通过判断对象的原型链中是不是能找到类型的 prototype,能在实例上找到的类型

[1,3] instanceof Object  //true
[1,3] instanceof Array   //true
'123' instanceof String  //false
let str= new String('123')
str instanceof String    //true


3.typeof

和instanceof相比,type返回的数据类型,但是instanceof返回布尔类型true/false。typeof有一个缺陷就是判断null的时候,返回为object.


4.Array.isArray()

判断是否为数组

个人推荐使用第一个Object.prototype.toString.call(),都能返回相应的数据类型,无论是null还是undefined。


原文自:blog.csdn.net/Little_Pig_…