当前位置: 代码迷 >> JavaScript >> 区分0和“”
  详细解决方案

区分0和“”

热度:60   发布时间:2023-06-05 11:44:14.0

我知道,我知道必须有一些线索涵盖这个主题。 但我使用搜索并没有得到符合我需要的答案。 所以我们走了:

我想检查一个“if”条件,因为如果变量具有类似“null”或“undefined”或“”或“'的值,那么我想将变量值指定为”N / A“并且如果值为零( 0)它不应该为该变量分配“N / A”。

但问题是“”或null == 0是真的,

所以请帮我解决这个问题,先谢谢

使用===进行JavaScript比较,

// type doesn't match gives false
0 === null; // false
0 === undefined; // false
0 === ''; // false
0 === false; // false
0 === "0"; // false

// type matches
0 === 0; // true

这是你在说什么? “===”是一个严格的比较运算符,不会更改数据类型。

if (val === undefined || val === null || val === ""){
    // do something
}else{
    // do something else
}

在Javascript中,null,undefined,“”(空字符串),false,0,NaN是虚假值。 检查具有任何这些值的变量的条件导致错误。

在您的情况下,您可以简单地检查变量是否为假,如果您需要从此条件中排除0,则可以为if变量添加一个条件检查!== 0。

例如,在下面的代码中说'a'是你需要检查除0之外的所有虚假值的变量,然后你可以检查是否(a!== 0)&&!a(不是falsy)并分配给N /其他人留下'a'原样。

第1行:var a = 0; 第2行:a =(a!== 0 &&!a)? “N / A”:a;

我希望上面的代码可以帮到你。

这就是你追求的吗? 只需一个测试用例就足够了......

if ($var !== 0) $var = 'N/A';
  相关解决方案