JavaScript中的类型判断方法(全)

JavaScript中的类型判断方法(全)

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())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值