·
Across the Great Wall, we can reach every corner in the world.

大部分场景怎么方便怎么来,两者性能差距不大的。

不过如果非要扣性能的话,switch 语句可能会影响到分支预测,比如 switch 90% 的情况是第一个 case,写成下面这样性能会有小提升:

enum Color {
    RED, BLUE, BLACK, GREEN
}

// other code ...
if (a === Color.RED) {
  //...
} else {
    switch (a) {
        case Color.BLUE:  // ...
        case Color.BLACK: // ...
        case Color.GREEN: // ...
    }
}

大多数情况都走第一个 if 语句,可以减少分支预测发散,CPU 友好