许多初学者程序员编写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
实际上不是布尔值,那将会有所不同。