“value === false”更优雅的替代品?

时间:2011-06-22 09:21:19

标签: javascript coding-style comparison boolean

在JavaScript中,我想将(严格)相等的值与false进行比较。

从Java / C#我习惯写作:

if (!value)
   //Do Something

但是,我不能在JavaScript中使用它nullundefined(以及其他IMHO)也会在if语句中评估false。 (我不想那样)。

因此,我已经写了以下内容来制定这样的检查:

if (value === false)
   //Do Something

然而,这个结构对我来说有点奇怪 这里有更优雅的方法(当然会产生与=== false相同的结果)吗?

当然,引入方法isFalse是一种选择,但这不是我想要的,因为它看起来比=== false更令人分心。

2 个答案:

答案 0 :(得分:7)

如果您确实想要在Javascript中检查明确的false值,而不是'falsy'值(nullundefined0等。 )然后=== false是迄今为止最标准的做法。我不认为它需要改变 - 这是这种动态语言之美的一部分!

答案 1 :(得分:3)

请不要写一个函数isFalse()The Daily WTF的候选人),使用===运算符,即使它看起来很奇怪,也没有更清晰的方法。< / p>