Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
95
rated 0 times [  99] [ 4]  / answers: 1 / hits: 15163  / 13 Years ago, mon, august 8, 2011, 12:00:00

I have a variable that can either be boolean false, or an integer (including 0). I want to put it in a switch statement like:



switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}


In my tests in Google Chrome, it seems to work perfectly, but I'm a little nervous to use it because I'm afraid that in some browsers, if my_var is false, it might execute the first case since 0 == false.



I'm just wondering if there is anything official in JavaScript that says the switch statement will use strict comparison such that 0 !== false, but I can't find anything myself, and I'm not sure if this will work well in different JavaScript engines. Does anybody know if the comparison done by a switch statement is guaranteed to be strict?


More From » types

 Answers
24

Take a look at ECMA 262, section 12.11, the second algorithm, 4.c.




c. If input is equal to clauseSelector as defined by the === operator, then...



[#90732] Sunday, August 7, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
monicag

Total Points: 651
Total Questions: 106
Total Answers: 104

Location: Grenada
Member since Sun, Dec 20, 2020
4 Years ago
;