为什么不是a?也不是undefined 而是default?麻烦大神帮忙解释一下原理
switch 中的 case 与 value 的判断是采用严格相等运算符(===)的
严格相等运算符不会对值进行类型转换
故 String 对象是不等于 a 的
new创建的都是对象,switch中没有针对对象的,所以以默认值执行,即执行default的结果。
'a'===new String('a') //false
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答1.7k 阅读
3 回答3.8k 阅读
3 回答8.7k 阅读✓ 已解决
9 回答4.3k 阅读
6 回答2.9k 阅读✓ 已解决
switch 中的 case 与 value 的判断是采用严格相等运算符(===)的
严格相等运算符不会对值进行类型转换
故 String 对象是不等于 a 的