J'ai une variable qui peut être booléenne false
ou un entier (y compris 0). Je veux le mettre dans une instruction switch comme:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
Dans mes tests dans Google Chrome, cela semble fonctionner parfaitement, mais je suis un peu nerveux à l'idée de l'utiliser car j'ai peur que dans certains navigateurs, si my_var
c'est le cas false
, il puisse exécuter le premier cas depuis 0 == false
.
Je me demande simplement s'il y a quelque chose d'officiel dans JavaScript qui dit que l'instruction switch utilisera une comparaison stricte de telle sorte que 0 !== false
, mais je ne trouve rien moi-même, et je ne suis pas sûr que cela fonctionnera bien dans différents moteurs JavaScript. Est-ce que quelqu'un sait si la comparaison effectuée par une instruction switch est garantie d'être stricte?
http://qfox.nl/notes/110 répond à votre question. (Ce gars en sait beaucoup sur les détails de JavaScript)
la source
Oui,
switch
"[utilise] la comparaison stricte===
".Source: commutateur - JavaScript | MDN
la source