【发布时间】:2012-11-06 11:35:19
【问题描述】:
许多初学者程序员写if (myBoolean == true) 之类的东西,而不是if (myBoolean),因为他们还没有理解条件不需要包含比较,只是一个布尔值。当我在 twitter 上注意到这一点时,有人建议我在 JavaScript 中可能有充分的理由这样做。在那儿?我们都知道 JavaScript 类型很奇怪,但谷歌在这一点上没有给出任何答案。
更新:似乎没有区别,但是与if (myBoolean === true) 会有区别。因此,为了澄清这个问题 - 如果 (myBoolean === true) 或 if (myBoolean),JavaScript 的最佳实践是什么。在什么实际情况下,您会检查 === true 到您不知道是布尔值的东西吗?请在此后续问题中回答:Why is it good practice to use if (myBoolean === true) in JavaScript?
【问题讨论】:
-
在某些情况下,指出您明确依赖设置为 true 的布尔“标志”值这一事实会很有帮助。把它完整地写出来会稍微清楚一些。另外,也许您的意思是
if (myBoolean === true)?那实际上不等于if (myBoolean);仅当myBoolean实际设置为true时才为真,使其更安全。 -
这只是个人喜好。现在如果你说的是
myBoolean === true,那就另当别论了。 -
@Kiyura:“把它完整地写出来会稍微清楚一些。” 我不同意,我发现它不太清楚。所以这显然是主观的,受个人喜好的影响。同意
===会有所不同。 -
请查看我的更新 - 我正在尝试找出您为什么要检查 === true 以获得“真实”值
-
@Iain:请不要更改您的问题。一定要澄清它,但不要改变它。您的原始问题已得到解答。如果您想问另一个问题(为什么要使用
===),请单独提出。
标签: javascript if-statement boolean type-conversion