有没有一种优雅的方法来检查变量是否不是假的,但在 0 的情况下它会通过。这种验证方式的问题
if(var !== undefined && var !== null)
是它很长并且没有涵盖像undecalred
或NaN
这样的所有情况。我还使用打字稿并将其声明为可选数字。
您可以完全按照第一句话的要求进行操作:
if (!x && x !== 0)
字面意思是“如果 x 为假且 x 不为 0”。
此外,
==
和!=
比较运算符明确认为null
和undefined
相等,所以
if (x != null)
对于
true
和 null
都是 undefined
。 (那是!=
,不是!==
。)
function Check(input) {
if (!input && input!==0){
return "falsy";
}
else if (input === 0){
return "zero";
}
}
console.log(Check(0));
console.log(Check(false))