Tengo una variable que puede ser booleana false
o un número entero (incluido 0). Quiero ponerlo en una declaración de cambio como:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
En mis pruebas en Google Chrome, parece funcionar perfectamente, pero estoy un poco nervioso por usarlo porque me temo que en algunos navegadores, si my_var
es así false
, podría ejecutar el primer caso desde entonces 0 == false
.
Me pregunto si hay algo oficial en JavaScript que diga que la declaración de cambio usará una comparación estricta 0 !== false
, pero no puedo encontrar nada yo mismo, y no estoy seguro de si esto funcionará bien en diferentes motores de JavaScript. ¿Alguien sabe si se garantiza que la comparación realizada por una declaración de cambio sea estricta?