是 switch(true) {... 有效的 javascript 吗?

2022-01-19 00:00:00 boolean switch-statement javascript

我最近遇到了一个代码,其中 switch 语句似乎与 switch 中的答案(布尔值)和 case 中的表达式相反.代码按预期运行良好,但我担心跨浏览器.它是有效的javascript吗?

I recently came across code where a switch statement seemed reversed with the answer (boolean) in the switch and the expressions in the case. The code ran fine as intended but I'm concerned about cross browser. Is it valid javascript?

switch(true) {
  case (y < 20):
    //
    break;
  case (y < 60):
    //
    break;
  case (y < 130):
    //
    break;
}

推荐答案

这个片段非常好.这只是另一种表达方式:

This snippet is perfectly fine. It's just another way of expressing:

if (y < 20) {
    // ...
} else if (y < 60) {
    // ...
} else if ( y < 130) {
    // ...
}

相关文章