首页 > 解决方案 > 为什么 if 语句优先于 switch 语句?

问题描述

我对从头开始编程相当陌生,但有阅读和修复代码的经验。通过实际的课程和学习,我注意到 IF 语句的实现比 Switch 语句更多。有什么区别,为什么学习材料总是需要 if 语句?

我看过一些关于 stackoverflow 的不同文章,但它们是针对特定问题的,从头开始编写脚本时,这更多的是全局。

标签: javascript

解决方案


if 语句

  • 允许检查多个状态,这通常是必要的。
  • 允许以比 switch 语句少得多的代码检查单个布尔值
  • 提供总体上更容易遵循的逻辑,尤其是在嵌套时比开关更容易遵循

切换语句

  • 允许轻松检查具有多种可能变化的状态。当有 3 个以上的可能状态时,它最有用。
  • 允许轻松添加和处理新的可能状态。这对于应用程序的未来扩展很有用。例如,如果一个 API 将来可能包含更多路由。
  • 允许以相同方式或非常密切地处理的状态轻松分组。这也非常清晰且易于调整。

它们都有各自的优点,但是当if之类的东西可用时,使用switch 语句就更合适了。

作为一名开发人员,您为工作选择了正确的工具,如果某样东西的性能更高或相同,更多或一样清晰,并且允许更少的代码,这就是经常使用的工具。

还值得注意的是,在某些情况下,您可以在 switch 中使用 if 语句。没有什么说你必须使用一个或另一个 - 这一切都基于组织、代码可读性和实用性


作为一个旁注,因为你提出了课程作业......

看,在发展过程中和在现场是完全不同的动物。我亲眼看到过糟糕的大学课程,这些课程实际上只教有抱负的开发人员使用if...else if...else控制语句。我已经从字面上(我的意思是字面意思)看到了一个最近的研究生代码,当一个简单的数组检查就足够了并且可以节省时间、一百多行代码以及其他所有人的理智时,我已经看到了几十个这样的语句项目(即我)。

学校就是学校。您可以按照他们的意愿进行工作,即使这并不是最实用或最有效的,但当您进入该领域时,请记住通常有更好的方法。

我之所以提到这一点,是因为您可能已经看到一些让您说“但我为什么不直接做 X? ”的东西。我在这里告诉你,你可能是对的,所以请抬起头来。自行研究,并随时询问有更多经验的人。好奇心是优秀开发人员的标志,当您进入该领域时,您将变得更有能力和价值。


推荐阅读