typeof 与 instanceof 区别

typeof 一般是用来判断变量是否存在,返回他的类型,其中基本数据类型 null 返回的是一个 object,但 null 不属于引用数据类型,typeof 除了判断 function 函数会识别,其他的引用类型输出为 object

instanceof 一般是用来判断引用数据类型,但不能正确判断基本数据类型,根据在原型链中查找判断当前数据的原型对象是否存在返回布尔类型

2 种方法各有各的优缺点,一般我们推荐判断数据类型使用 Object.prototype.toString,返回统一的格式[object Xxx]

一、typeof

typeof 操作符返回一个字符串,表示未经计算的操作数的类型

使用方法如下:

typeof operand 
typeof operand 

operand表示对象或原始值的表达式,其类型将被返回

举个例子

typeof 1   // 'number'
typeof '1'   // 'string'
typeof undefined   // 'undefined'
typeof true   // 'boolean'
typeof Symbol()   // 'symbol'
typeof null   // 'object'
typeof []   // 'object'
typeof {}   // 'object'
typeof console   // 'object'
typeof console.log   // 'function'

从上面例子,前 6 个都是基础数据类型。虽然type

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值