前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript中的类型判断方法(全)

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

原创
作者头像
伯约同学
发布2022-02-12 10:46:42
4900
发布2022-02-12 10:46:42
举报

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

js中的数据类型

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

引用数据类型 :Object

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

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

数据

typeof

instanceof

constructor

Object.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 // false

bol.constructor === Boolean // true

Object.prototype.toString.call(bool) //object Boolean

const num = 1

'number'

1 instanceof Number // false

num.constructor === Number // true

Object.prototype.toString.call(num) //object Number

const str = 'test'

'string'

'test' instanceof String // false

str.constructor === String // true

Object.prototype.toString.call(str) //object String

const sym = Symbol()

'symbol'

sym instanceof Symbol // false

sym.constructor === Symbol // true

Object.prototype.toString.call(sym) //object Symbol

const obj = {param:1}

'object'

obj instanceof Object // true

obj.constructor === Object // true

Object.prototype.toString.call(obj) //object Object

const arr = 1,2,3

'object'

1 instanceof Object //true

arr.constructor === Array // true

Object.prototype.toString.call(arr) //object Array

总结

无法区分数组 对象和null

无法识别基本数据类型

依然不能判断所有类型

可以适当封装用于数据类型判断

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档