JavaScript、TypeScript 中情况判断出现多少次才使用switch语句而不使用if语句 两性能消耗有什么不同

JavaScript、TypeScript 中情况判断出现多少次才使用switch语句而不使用if语句

两者性能消耗有什么不同

阅读 2.1k
2 个回答

switch 替代 if 是出于可读性和可扩展性考虑的,性能上的差别可以忽略不计(某些语言中 switch 会被编译器/解释器优化所以性能更高,但 JS 里不是这样)。

1~2 个条件用 if,多个条件用 map —— 实在不喜欢 switch 的作用域穿透,所以一般不用 switch

但也不是绝对,有时候 3~4 个条件,不想写 map,也用 if。而且用 if 可以考虑熔断处理(比如需要 return/break/continue 的)来避免 else,这样看起来就总是处理的 1 个条件了。有一些不是 return/break/continue 的情况,也可以考虑转换,比如在各分支中赋值,可以将分支内容封装成 IIFE,在外面一次性赋值。

……

反正处理方式很多,关键是看(人)怎么看起来舒服,性能差别一般可以忽略,除非你能明显感觉到性能下降,这时候可以针对性的优化性能。一般优化性能会降低可读性,需要做好权衡。

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