Можно ли предполагать строгое сравнение в операторе переключения JavaScript?

У меня есть переменная, которая может иметь логическое значение false или целое число (включая 0). Я хочу поместить его в оператор switch, например:

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 .

Мне просто интересно, есть ли что-нибудь официальное в JavaScript, в котором говорится, что оператор switch будет использовать строгое сравнение, такое как 0! == false , но я ничего не могу найти сам, и я ' m не уверен, будет ли это хорошо работать в разных движках JavaScript. Кто-нибудь знает, гарантировано ли строгое сравнение, выполняемое оператором switch?

99
задан Pang 25 July 2016 в 09:12
поделиться