JS数据类型的判断

JS中常用的数据类型判断的方法有4中,分别是:

typeof:主要用来判断 基本数据类型 ,引用数据类型不可以用 typeof 检测

  • 若遇到 null 或 引用数据 类型,则返回object(function除外)
typeof null, //"object"
typeof [1,2,3], //"object" 
typeof {a:1,b:2,c:3}, //"object" 
typeof function(){console.log('aaa');}, //"function"
  • 用 typeof 检测 用 new 关键字创建的引用数据类型,如 Number,String,Boolean 都返回 object
typeof new Number(100), //"object"
typeof new String('abc'), //"object"
typeof new Boolean(true), //"object"

instanceof:判断 用 new 关键字创建的引用数据类型,字面量定义的值不可以用 instanceof 检测

  • 基本数据类型中 Number,String,Boolean 如果是以构造函数的形式创建的则可以用 instanceof 来检测
console.log(
	new Number(123) instanceof Number, //true
	new String('abc') instanceof String, //true
	new Boolean(true) instanceof Boolean, //true
)

constructor:是 prototype 对象上的属性,指向构造函数

  • 除了 undefined 和 null 之外,其他类型都可以通过constructor属性来判断类型。

Object.prototype.toString.call( ):是判断一个变量的类型是最准确的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值