如何检查变量是否不是假的但 0 传入 Javascript
How to check if variable is not falsy but 0 passes in Javascript
有没有一种优雅的方法来检查变量是否不是假的,但在 0 的情况下它通过了。这种验证方式的问题
if(var !== undefined && var !== null)
是它很长并且没有涵盖所有情况,例如 undecalred
或 NaN
。我也在使用打字稿并将其声明为可选数字。
你完全可以按照你第一句话的要求去做:
if (!x && x !== 0)
字面意思是“如果 x 为假且 x 不为 0”。
此外,==
和 !=
比较运算符明确认为 null
和 undefined
相等,因此
if (x != null)
对于 null
和 undefined
, 是 true
。 (那是 !=
,不是 !==
。)
function Check(input) {
if (!input && input!==0){
return "falsy";
}
else if (input === 0){
return "zero";
}
}
console.log(Check(0));
console.log(Check(false))
有没有一种优雅的方法来检查变量是否不是假的,但在 0 的情况下它通过了。这种验证方式的问题
if(var !== undefined && var !== null)
是它很长并且没有涵盖所有情况,例如 undecalred
或 NaN
。我也在使用打字稿并将其声明为可选数字。
你完全可以按照你第一句话的要求去做:
if (!x && x !== 0)
字面意思是“如果 x 为假且 x 不为 0”。
此外,==
和 !=
比较运算符明确认为 null
和 undefined
相等,因此
if (x != null)
对于 null
和 undefined
, 是 true
。 (那是 !=
,不是 !==
。)
function Check(input) {
if (!input && input!==0){
return "falsy";
}
else if (input === 0){
return "zero";
}
}
console.log(Check(0));
console.log(Check(false))