在 JavaScript 中检查字符串是否相等的正确方法是什么?

新手上路,请多包涵

在 JavaScript 中检查字符串是否相等的正确方法是什么?

原文由 JSS 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 567
1 个回答

_在_您完全理解使用 ===== 运算符的区别和含义之前,请使用 === 运算符,因为它会让您免于晦涩难懂( ) 错误和 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题