How to get return value from switch statement?
In chrome's console, when I type:
> switch(3){default:"OK"}
"OK"
So looks like the switch statement has a return value. But when I do:
> var a = switch(3){default:"OK"}
It throws a syntax error "Unexpected Token switch"
Is it possible to capture the return statement of the switch?
Solution 1:
That's because when you're putting that into the Chrome console, you're short-circuiting it. It's just printing 'OK' because it's reaching the default case, not actually returning something.
If you want something returned, stick it in a function, and return the 'OK' from in the default case.
function switchResult(a){
switch(a){
default:
return "OK";
}
}
var a = switchResult(3);
Solution 2:
Perhaps interesting to note that you dont need the clutter of ;break;
statements if you wrap it in a function. (as described by heloandre)
function switchResult(a){
switch(a){
case 1: return "FOO";
case 2: return "BAR";
case 3: return "FOOBAR";
default: return "OK";
}
}
var a = switchResult(3);