有没有更好的方法来做到这一点?
if(borrar() !== false)
{
alert('tatatata bum bum bum prapra');
}
return false;
有没有更好的方法来做到这一点?
if(borrar() !== false)
{
alert('tatatata bum bum bum prapra');
}
return false;
如果你想检查 false 和 alert,如果没有,那么没有。
如果你使用if(val)
,那么任何评估为“真实”的东西,比如非空字符串,也会通过。所以这取决于你的标准有多严格。使用===
and!==
通常被认为是一种好的做法,以避免通过 JavaScript 的隐式布尔测试意外匹配真假条件。
如果您想要对 false 进行显式检查(而不是未定义、null 和其他我假设您使用!== 而不是!=),那么是的,您必须使用它。
此外,这在稍小的占用空间中是相同的:
if(borrar() !== !1)
你可以使用更简单的东西:
if(!var){
console.log('var is false');
}
检查某事是不是假的……所以它是真的,只要你在做一些量子物理学的事情。
if(!(borrar() === false))
或者
if(borrar() === true)
如果您希望它明确检查它是否为假(布尔值),您必须使用
if(borrar() !== false)
但在 JavaScript 中,我们通常使用 falsy 和 truthy,你可以使用
if(!borrar())
但随后值 0、''、null、undefined、null 和 NaN 不会生成警报。
以下值总是虚假的:
false,
,0 (zero)
,'' or "" (empty string)
,null
,undefined
,NaN
其他一切都是真实的。包括:
'0' (a string containing a single zero)
,'false' (a string containing the text “false”)
,[] (an empty array)
,{} (an empty object)
,function(){} (an “empty” function)
来源:https ://www.sitepoint.com/javascript-truthy-falsy/
作为将任何值转换为 true 或 false(布尔类型)的额外好处,请使用双感叹号:
!![] === true
!!'false' === true
!!false === false
!!undefined === false
像这样:
if(borrar())
{
// Do something
}
如果borrar()
返回 true 然后做某事(如果它不是 false)。