_在_您完全理解使用 == 和 === 运算符的区别和含义之前,请使用 === 运算符,因为它会让您免于晦涩难懂( ) 错误和 WTF。由于内部类型强制,“常规” == 运算符可能会产生非常意外的结果,因此使用 === 始终是推荐的方法。 要深入了解这一点以及 Javascript 的其他“好与坏”部分,请阅读 Douglas Crockford 先生及其作品。有一个很棒的 Google Tech Talk,他在其中总结了很多有用的信息: http ://www.youtube.com/watch?v=hQVTIJBZook 更新: Kyle Simpson 撰写的 You Don’t Know JS 系列非常出色(并且可以免费在线阅读)。该系列深入到该语言中经常被误解的领域,并解释了 Crockford 建议您避免的“不好的部分”。通过了解它们,您可以正确使用它们并避免陷阱。 “ Up & Going ”一书包括关于 Equality 的部分,具体总结了何时使用松散 ( == ) 与严格 ( === ) 运算符: 将大量细节归结为几个简单的要点,并帮助您了解在各种情况下是使用 == 还是 === ,以下是我的简单规则: If either value (aka side) in a comparison could be the true or false value, avoid == and use === . If either value in a comparison could be of these specific values ( 0 , "" , or [] -- empty array), avoid == 并使用 === 。 在 所有 其他情况下,您可以安全地使用 == 。它不仅安全,而且在许多情况下,它以提高可读性的方式简化了代码。 对于不想花时间真正理解 Javascript 的开发人员,我仍然推荐 Crockford 的演讲——对于只是偶尔使用 Javascript 的开发人员来说,这是一个很好的建议。 原文由 STW 发布,翻译遵循 CC BY-SA 4.0 许可协议
_在_您完全理解使用
==
和===
运算符的区别和含义之前,请使用===
运算符,因为它会让您免于晦涩难懂( ) 错误和 WTF。由于内部类型强制,“常规”==
运算符可能会产生非常意外的结果,因此使用===
始终是推荐的方法。要深入了解这一点以及 Javascript 的其他“好与坏”部分,请阅读 Douglas Crockford 先生及其作品。有一个很棒的 Google Tech Talk,他在其中总结了很多有用的信息: http ://www.youtube.com/watch?v=hQVTIJBZook
更新:
Kyle Simpson 撰写的 You Don’t Know JS 系列非常出色(并且可以免费在线阅读)。该系列深入到该语言中经常被误解的领域,并解释了 Crockford 建议您避免的“不好的部分”。通过了解它们,您可以正确使用它们并避免陷阱。
“ Up & Going ”一书包括关于 Equality 的部分,具体总结了何时使用松散 (
==
) 与严格 (===
) 运算符:对于不想花时间真正理解 Javascript 的开发人员,我仍然推荐 Crockford 的演讲——对于只是偶尔使用 Javascript 的开发人员来说,这是一个很好的建议。