Javascript 如何在switch语句中使用比较?

Javascript 如何在switch语句中使用比较?,javascript,switch-statement,Javascript,Switch Statement,我试图在switch语句中使用比较(5>2),但我无法使它工作。您能告诉我如何在switch语句中使用比较吗 以下是我的if声明: if (5 > 2) { console.log("Correct!") } else if (5 < 2) { console.log("Wrong!") } else { console.log("What!?") } 如果我不能将If语句转换为switch语句,那么请告诉我。这样做毫无意义–正如您所见,要生成可接受的比较值

我试图在switch语句中使用比较(5>2),但我无法使它工作。您能告诉我如何在switch语句中使用比较吗

以下是我的if声明:

if (5 > 2) {
    console.log("Correct!")
} else if (5 < 2) {
    console.log("Wrong!")
} else {
    console.log("What!?")
}

如果我不能将If语句转换为switch语句,那么请告诉我。

这样做毫无意义–正如您所见,要生成可接受的比较值,基本上需要做重复的工作

let a = 2, b = 5;
switch(true){
  case a>b:
    console.log('do something here');
    break;
  default:
    console.log('do something there');
    break;
}
var结果;
如果(5>2){
结果=‘更大’;
}否则,如果(5<2){
结果=‘更少’;
}
开关(结果){
“更大”的情况:
log(“正确!”)
打破
“少”一案:
console.log(“错误!”);
打破
违约:
log(“什么!?”);
打破
}

可以这样做,但通常不应该这样做,因为if/else if/else结构通常更短更清晰。(当然,这是一个意见问题。)好的,谢谢你的提示。我可以将true更改为null吗?@Alex-否。
开关
正在尝试将该值与具有相同值的第一个
大小写
匹配。我可以将true更改为另一个值为true的日期类型(例如字符串)吗?字符串没有值
true
。所以不是。记住,
大小写
表达式(如果它们是
x>y
)的计算结果是一个布尔值。没错,只是一个布尔值。无论如何,这只是你问题的答案,切换(true)不是一个好方法。或者你可以按照另一个答案不重复地进行。另一个答案不单独处理
b>a
b==a
。当然可以。答案中实际显示的代码只是一个非常简短的示例,在
default
之前只有一个
案例
,但是您可以使用单独的条件添加任意多的案例,因此您只需要
案例b>a
案例b==a
let a = 2, b = 5;
switch(true){
  case a>b:
    console.log('do something here');
    break;
  default:
    console.log('do something there');
    break;
}