在JavaScript的switch语句中,可以安全地假设使用严格比较吗?

17 浏览
0 Comments

在JavaScript的switch语句中,可以安全地假设使用严格比较吗?

我有一个变量,它可以是布尔值false,也可以是整数(包括0)。我想将它放在一个switch语句中,如下所示:

switch(my_var){
    case 0:
         // 做某事
         break;
    case 1:
         // 做其他事情
         break;
    case false:
         // 其他代码
}

在我在Google Chrome中的测试中,它似乎工作得很完美,但我有些紧张使用它,因为我担心在某些浏览器中,如果my_varfalse,它可能会执行第一个case,因为0 == false

我只是想知道在JavaScript中是否有任何官方声明说switch语句将使用严格比较,例如0 !== false,但我自己找不到任何东西,也不确定这在不同的JavaScript引擎中是否有效。有人知道switch语句进行的比较是否保证是严格的吗?

0