我有一个可以为boolean false或整数(包括0)的变量。我想将其放在switch语句中,例如:
false
switch(my_var){ case 0: // Do something break; case 1: // Do something else break; case false: // Some other code }
在Google Chrome浏览器中的测试中,它似乎可以完美运行,但是我有点紧张,因为我担心在某些浏览器中(如果有的话my_var)false它可能会执行以来的第一种情况0 == false。
my_var
0 == false
我只是想知道JavaScript中是否有任何官方的说法,说switch语句将使用严格的比较,例如0 !== false,但是我自己找不到任何东西,而且我不确定这是否可以在不同的JavaScript引擎中很好地工作。有人知道switch语句所做的比较是否一定很严格吗?
0 !== false
看一下ECMA 262第12.11节,第二种算法4.c。
C。 如果输入等于===运算符定义的ClauseSelector,则…