У меня есть переменная, которая может иметь логическое значение 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?
Да, switch
"[использование] строгое сравнение, ===
".
Источник: переключатель - JavaScript | MDN