许多初学者程序员编写if (myBoolean == true)之类的东西而不是if (myBoolean)之类的东西,因为他们还没有意识到条件不需要包含一个比较,而只是一个布尔值。当我在Twitter上注意到这一点时,建议我在JavaScript中这样做是有充分理由的。在那儿?我们都知道JavaScript类型很奇怪,但是Google在这一点上没有给出答案。

更新:似乎没有区别,但是if (myBoolean === true)会有区别。因此,为了澄清这个问题-如果(myBoolean === true)或if(myBoolean),那么JavaScript的最佳实践是什么?在哪种实际情况下,您会检查=== true某个您不知道是布尔值的东西吗?请在以下后续问题中回答:Why is it good practice to use if (myBoolean === true) in JavaScript?

最佳答案

没有。

由于您使用的是non-strict equality operator,因此两者之间绝对没有区别:

if (myBoolean == true)


和:

if (myBoolean)


如果您使用严格相等运算符===,而myBoolean实际上不是布尔值,那将会有所不同。

07-21 11:19