js类型检验的方式

typeof 操作符:可以使用typeof操作符检查一个值的类型,它会返回一个字符串,表示值的类型。例如:

typeof "Hello" // 返回 "string"
typeof 42 // 返回 "number"
typeof true // 返回 "boolean"
typeof undefined // 返回 "undefined"

 instanceof 操作符:可以使用instanceof操作符检查一个对象是否属于某个类或构造函数。例如:

var arr = [1, 2, 3];
arr instanceof Array // 返回 true

var date = new Date();
date instanceof Date // 返回 true

 constructor 属性:每个对象在创建时都会有一个 constructor 属性,指向创建该对象的构造函数。可以通过比较对象的 constructor 属性来判断其类型。例如:

var str = "Hello";
str.constructor === String // 返回 true

var num = 42;
num.constructor === Number // 返回 true

 Object.prototype.toString.call() 方法来更精确地判断数据类型。例如:

var obj = {};
Object.prototype.toString.call(obj) // 返回 "[object Object]"

var arr = [];
Object.prototype.toString.call(arr) // 返回 "[object Array]"

var date = new Date();
Object.prototype.toString.call(date) // 返回 "[object Date]"

var nullValue = null;
Object.prototype.toString.call(nullValue) // 返回 "[object Null]"

typeof 运算符的弊端在于,对于一些复杂的数据类型(如数组、对象、null),它返回的结果并不够详细。这时可以使用 Object.prototype.toString.call() 方法来更精确地判断数据类型。 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值