let a = 5
let b = 6
switch (a) {
case 3:
console.log('a为3');
break;
case 4:
console.log('a为4');
break;
case (5 && b === 6):
console.log('a为5且b为6');
break;
case 5:
console.log('a为5'); //输出
break;
case (5 && b !== 6):
console.log('a为5且b不为6');
break;
}
想象情况:输出a为5且b为6 实际情况:case后边:是将表达式与switch后面的值与其比较得出一个true或false。 先进行了这个表达式的计算 5 && b === 6 //是true,5转为布尔值是true 而 a === true 是false 可以写成
let a = 5
let b = 6
switch (a) {
case 3:
console.log('a为3');
break;
case 4:
console.log('a为4');
break;
case 5:
if (b === 6) {
console.log('a为5且b为6');
}
break;
case 5:
console.log('a为5'); //输出
break;
}