如何检查变量是否不是假的但 0 传入 Javascript

How to check if variable is not falsy but 0 passes in Javascript

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

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

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

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

此外,==!= 比较运算符明确认为 nullundefined 相等,因此

if (x != null)
对于 nullundefined

true。 (那是 !=,不是 !==。)

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