首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果数字为0,则检查是否为空。

如果数字为0,则检查是否为空。
EN

Stack Overflow用户
提问于 2015-07-08 15:19:42
回答 2查看 44关注 0票数 1

由于某些原因,我的老板更改了我在JS中获得的数据,因此,如果我一旦收到字符串,现在我可以接收字符串或数字(从0到n)。直到今天,当我发现要测试的数字正好是0时,我才发现旧代码块没有问题。

原因是这样的代码:

代码语言:javascript
运行
复制
if(myObject.getData()) {
    ...
}
else {
    //here's where I go
}

getData()返回字符串和数字,但是当数字为0时,if测试将其作为布尔值,结果始终是false,而两行之后,在大括号内,我需要number 0将其发送到服务器。

检查数据是否不是nullfalse""、甚至布尔值,以及“保存”我的0的最佳方法是什么?

EN

Stack Overflow用户

发布于 2015-07-08 15:23:14

您可以在if语句中引入OR,以使用严格相等运算符(===)检查它是否是数值0

代码语言:javascript
运行
复制
var data = myObject.getData();
if ( data || data === 0 )

一些测试用例:

代码语言:javascript
运行
复制
data = ""           // false
data = false        // false
data = undefined    // false
data = 0            // true
data = 1            // true
data = "test"       // true
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31296921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档