1

是否有一种优雅的方法来检查变量是否不虚假但如果为 0 它通过了。这种验证方式的问题 if(var !== undefined && var !== null) 在于它很长并且不能涵盖所有情况,例如undecalredor NaN。我也在使用打字稿并将其声明为可选数字。

4

2 回答 2

3

您可以完全按照第一句话的要求做:

if (!x && x !== 0)

字面意思是“如果 x 是假的并且 x 不为 0”。

==!=比较运算符也明确考虑nullundefined相等,所以

if (x != null)

适用truenullundefined。(那是!=,不是!==。)

于 2021-07-13T14:50:46.627 回答
0

function Check(input) {
   if (!input && input!==0){
    return "falsy";   
   }
   else if (input === 0){
    return "zero";
   
   }
   
}
console.log(Check(0));
console.log(Check(false))

于 2021-07-13T14:52:43.420 回答