Javascript-是null还是true-最优雅的解决方案是什么?
既然我们都知道 null 被评估为 false,我怎么能在 Javascript 中写出“is null or true”呢?我试过了:
function isNullOrTrue(nullableBool){
return !(nullableBool != null && nullableBool != true);
}
有一个更好的方法吗?
回答
如果三个可能的输入只有null,true和false,则可以使用
return nullableBool !== false
但明确列出匹配的值也不利于可读性
return v === null || v === true
在这里实际上不需要使用===代替==,因为null != false(而Boolean(null) == false),但如果您不熟悉松散的平等规则,它可能有助于清晰。