任何表达式都可以成为 switch/case 的参数
switch 和 case 都允许任意表达式,但是他们的类型应当是一致的。
例子2:
let a = "1";
let b = 0;
switch (+a) {
case b + 1:
console.log("this runs, because +a is 1, exactly equals b+1");
break;
default:
console.log("this doesn't run");
}
结果:
例子3:
let a = 3;
switch (a) {
case 4:
console.log('Right!');
break;
case 3: // (*) 下面这两个 case 被分在一组
case 5:
console.log('Wrong!');
console.log("Why don't you take a math class?");
break;
default:
console.log('The result is strange. Really.');
}
结果: