1. switch 语句可以用所有数据类型
  2. 条件值不需要常量,可以是变量或表达式
    • 会先运算变为表达式的值
  3. 比较条件时使用全等操作符,不会强制转换数据类型

例子

  1. switch('10'){
  2. case 10:
  3. console.log("Hello");
  4. break;
  5. default
  6. console.log('good bye');
  7. break;
  8. }

结果输出 ‘good bye’
比较条件时使用全等操作符,字符串 ‘10’ 不等于数值 10

switch('a'){
  case 'a' || 'b':
    console.log("a || b");
    break;
  case 'a' && 'b':
    console.log("a && b");
    break;
  default:
      console.log('default');
    break;
}

结果是输出 “a || b”

条件值会计算经过计算变成固定的值:
(‘a’ || ‘b’) === ‘a’
(‘a’ && ‘b’) === ‘b’

switch 的参数是 ‘a’,所以是第一个条件的值。