JavaScript中的类型判断方法大全

阅读 651 标签:Jquery  

js中的数据类型

基本数据类型:Undefined、Null、Boolean、Number、String,Symbol
引用数据类型 :Object

一般而言,我们还需要额外判断一下是Array类型还是Object

今天就专门整理了下,下面用表格做一个对比

数据typeofinstanceofconstructorObject.prototype.toString.call
const und = undefined'undefined'undefined instanceof Object // false无该属性Object.prototype.toString.call(und) //[object Undefined]
const nul = null'object'null instanceof Object // false无该属性Object.prototype.toString.call(nul) //[object Null]
const bool = false'boolean'false instanceof Boolean // falsebol.constructor === Boolean // trueObject.prototype.toString.call(bool) //[object Boolean]
const num = 1'number'1 instanceof Number // falsenum.constructor === Number // trueObject.prototype.toString.call(num) //[object Number]
const str = 'test''string''test' instanceof String // falsestr.constructor === String // trueObject.prototype.toString.call(str) //[object String]
const sym = Symbol()'symbol'sym instanceof Symbol // falsesym.constructor === Symbol // trueObject.prototype.toString.call(sym) //[object Symbol]
const obj = {param:1}'object'obj instanceof Object // trueobj.constructor === Object // trueObject.prototype.toString.call(obj) //[object Object]
const arr = [1,2,3]'object'[1] instanceof Object //truearr.constructor === Array // trueObject.prototype.toString.call(arr) //[object Array]
总结无法区分数组 对象和null无法识别基本数据类型依然不能判断所有类型可以适当封装用于数据类型判断

当然,不同场景使用不同的判断方法。简单类型的判断,使用typeof即可(null的问题属于历史遗留),针对array和object再作进一步区分即可(可以使用Array.isArray())

文章来源:网络 版权归原作者所有,如涉及知识产权问题,请权利人联系我们,我们将立即处理.
标签: Jquery
专栏:   VUE
光阴的故事
文章 5 获得 0个赞 共 0个粉丝

推荐阅读 更多精彩内容