- switch 语句可以用所有数据类型
- 条件值不需要常量,可以是变量或表达式
- 会先运算变为表达式的值
- 比较条件时使用全等操作符,不会强制转换数据类型
例子
switch('10'){
case 10:
console.log("Hello");
break;
default:
console.log('good bye');
break;
}
结果输出 ‘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’,所以是第一个条件的值。