Javascript - 是 null 还是 true - 最优雅的解决方案是什么?

Ana*_*ehs -2 javascript null boolean

既然我们都知道 null 被评估为 false,我怎么能在 Javascript 中写出“is null or true”呢?我试过了:

function isNullOrTrue(nullableBool){
  return !(nullableBool != null && nullableBool != true);
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

Ber*_*rgi 5

如果三个可能的输入只有null,truefalse,则可以使用

return nullableBool !== false
Run Code Online (Sandbox Code Playgroud)

但明确列出匹配的值也不利于可读性

return v === null || v === true
Run Code Online (Sandbox Code Playgroud)

在这里实际上不需要使用===代替==,因为null != false(而Boolean(null) == false),但如果您不熟悉松散的平等规则,它可能有助于清晰。