由于 JavaScript 目前不鼓励使用松散比较(
!=
和 ==
),我们如何能够在单一条件下检查这一点?
一位更像是 .NET 工程师的同事曾经问我,如何在不使用松散相等运算符的情况下在一种条件下进行此比较。
foo != null
注意: 它应该只拒绝
null
和 undefined
,但允许像 0
和 ""
这样的值。
文档: 以下是一些文章,我们可以看到在 Javascript 中不鼓励使用松散相等:
我找到了这些可能的解决方案,但它们看起来仍然有点冗长:
!!foo || foo === 0 || foo === ""
(foo ?? false) !== false