js高级应用系列-优雅的判断0

判断排除0之外的false

  • 问题

我们使用 if 时,经常会这样使用:

if(!value){
	console.log('数据不符合规范!');
	return;
}

但这有一个问题,当value的值是0的时候,也会进入if 块中,如何排除0呢?

  • 优雅解决方式一,使用 typeof
if(typeof value !== 'number' && !value){
	console.log('数据不符合规范!');
	return;
}
  • 优雅解决方式二,使用 isNaN
if(isNaN(value) && !value){
	console.log('数据不符合规范!');
	return;
}

isNaN用于判断是否为非数字。
会发现,我们要做的就是先排除Number数字类型,再做判断

  • 另一种方式就是排除除0之外的所有可能情况:
if(value === undefined || value === '' || value === null){
	console.log('数据不符合规范!');
	return;
}

是不是不如第一种方式优雅呢,做为有洁癖的程序员,我更建议使用第一种方式。

相关:

数据类型转换为true转换false
String非空字符串空字符串("")
Number非0数值0
Object任意对象包括{}或[]null
Undefined不存在undefined
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值