JS类型检查

JS类型检查

1、typeof 能识别哪些数据类型

number、string、boolean、undefined、function

2、typeof 不能识别的数据类型可以用什么方法识别(说出其原理)

例如:
在这里插入图片描述
p1.proto === P.prototype 为true就代表是它的实例

instanceof 运算符用于测试构造函数的 prototype 属性是否出现在对象原型链中的任何位置

3、 一种万能数据类型检测方式(及其原理)

Object.prototype.toString
为什么需要Object.prototype.toString?
Object对象本身就有一个toString()方法,返回的是当前对象的字符串形式,原型上的toString()返回的才是我们真正需要的包含对象数据类型的字符串。
若参数不为 null 或 undefined,则将参数转为对象,转为对象后,取得该对象的 [Symbol.toStringTag] 属性值(可能会遍历原型链)作为 tag,如无该属性,或该属性值不为字符串类型,则依下表取得 tag, 然后返回 "[object " + tag + “]” 形式的字符串。例如检测对象会返回:[object object]

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值