This question already has answers here:
JavaScript switch strange behavior

(3个答案)



Switch case jumps to wrong case in javascript (how to properly use the break command)

(4个答案)


去年关闭。




我有以下开关简单案例:
let ca: string = "2";

switch (ca) {
case "2":
    console.log("2");

 case "1":
    console.log("1");

default:
    console.log("default");

}

我试图了解为什么此代码的输出是:
2
1
default

我的预期输出是
2default
为什么打印
1
即使ca不等于“1”?

编辑:我知道我可以添加break语句-我只是想了解为什么case "1"会导致ca="2"发生

谢谢。

最佳答案

您需要在每个switch块的break中添加一个case语句,否则一旦找到匹配项,它将继续执行。

let ca: string = "2";

switch (ca) {
  case "2":
    console.log("2");
    break;

  case "1":
    console.log("1");
    break;

  default:
    console.log("default");
}

关于javascript - 开关案例 typescript 案例不适用于字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59987686/

10-13 01:52