JavaScript、TypeScript 中情况判断出现多少次才使用switch
语句而不使用if
语句
两者性能消耗有什么不同
JavaScript、TypeScript 中情况判断出现多少次才使用switch
语句而不使用if
语句
两者性能消耗有什么不同
1~2 个条件用 if,多个条件用 map —— 实在不喜欢 switch 的作用域穿透,所以一般不用 switch
但也不是绝对,有时候 3~4 个条件,不想写 map,也用 if。而且用 if 可以考虑熔断处理(比如需要 return/break/continue 的)来避免 else,这样看起来就总是处理的 1 个条件了。有一些不是 return/break/continue 的情况,也可以考虑转换,比如在各分支中赋值,可以将分支内容封装成 IIFE,在外面一次性赋值。
……
反正处理方式很多,关键是看(人)怎么看起来舒服,性能差别一般可以忽略,除非你能明显感觉到性能下降,这时候可以针对性的优化性能。一般优化性能会降低可读性,需要做好权衡。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
用
switch
替代if
是出于可读性和可扩展性考虑的,性能上的差别可以忽略不计(某些语言中switch
会被编译器/解释器优化所以性能更高,但 JS 里不是这样)。