gpt4 book ai didi

javascript - 如果数字为 0,则针对空的测试失败

转载 作者:行者123 更新时间:2023-11-30 10:01:42 25 4
gpt4 key购买 nike

出于某种原因,我的老板更改了我在 JS 中获取的数据,因此,如果我曾经收到字符串,现在我可以接收字符串或数字(从 0 到 n)。直到今天,当我发现要测试的数字恰好为 0 时,旧代码块才出现问题。

原因是这段代码:

if(myObject.getData()) {
...
}
else {
//here's where I go
}

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

检查数据是否不是null、不是false、不是""、甚至不是 bool 值和"preserve"的最佳方法是什么"我的 0?

最佳答案

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

var data = myObject.getData();
if ( data || data === 0 )

一些测试用例:

data = ""           // false
data = false // false
data = undefined // false
data = 0 // true
data = 1 // true
data = "test" // true

关于javascript - 如果数字为 0,则针对空的测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31296921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com