我有一个变量,可以是布尔值false,也可以是整数(包括0).我想把它放在一个switch语句中:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
Run Code Online (Sandbox Code Playgroud)
在谷歌浏览器的测试中,它似乎工作得很好,但我使用它有点紧张,因为我害怕在某些浏览器中,如果my_var是false,它可能会执行第一种情况0 == false.
我只是想知道JavaScript中是否有任何官方说切换语句将使用严格的比较0 !== false,但我自己找不到任何东西,而且我不确定这是否适用于不同的JavaScript引擎.有人知道switch语句完成的比较是否保证是严格的吗?
javascript comparison types type-conversion switch-statement
在JavaScript的parseInt函数中将基数默认为8(如果字符串以0开头)让我烦恼,只因为我继续忘记将可选的第二个参数传递为10.我正在寻找答案告诉我为什么它有意义默认为8.