Mam zmiennej, która może być boolean false
lub liczbę całkowitą (w tym 0). Chcę, aby umieścić go w instrukcji switch jak:Czy można bezpiecznie porównać w instrukcji przełączania JavaScript?
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
w moich testów w Google Chrome, wydaje się doskonale działa, ale jestem trochę nerwowy go używać, ponieważ obawiam się, że w niektórych przeglądarkach , jeśli my_var
jest false
, może wykonać pierwszy przypadek od 0 == false
.
Zastanawiam się tylko, czy w języku JavaScript jest coś oficjalnego, co oznacza, że instrukcja switch używa ścisłego porównania takiego, że 0 !== false
, ale ja sam nie mogę znaleźć i nie jestem pewien, czy to zadziała dobrze w różne silniki JavaScript. Czy ktokolwiek wie, czy porównanie wykonane przez instrukcję switcha ma być surowe?
Od 1999 roku [imprezuje się tak] (http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition, % 20December% 201999.pdf) (strona 68, s. 12.11, CaseBlock # 3) – Walf