当前位置:网站首页>switch case时连写常规判断表达式的错误 case和if并用 l

switch case时连写常规判断表达式的错误 case和if并用 l

2022-04-23 06:02:00 NOyesNONO_

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;
}

想象情况:输出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;
}

版权声明
本文为[NOyesNONO_]所创,转载请带上原文链接,感谢
https://blog.csdn.net/NOyesNONO_/article/details/121117199