Switch is good if you only need to compare equals when selecting a value.
Although some languages make it way more powerful, like python match.
but I generally dislike python despite of this, and I generally dislike switch because the syntax and formatting is just too unlike the rest of the languages.
Generally I prefer the clear brevity of:
var foo=
x>100 ? bar :
x>50 ? baz :
x>10 ? qux :
quux;
Which doesn't really get any better if you remove the optional (but recommended) braces.
Heck, I even prefer ternary over some variations of switch for equals conditionals, like the one in Java:
var foo;
switch(x) {
case 100:
foo=bar;
break;
case 50:
foo=baz;
break;
case 10:
foo=qux;
break;
default:
foo=quux;
}
But some languages do switch better than others (like python as previously mentioned), so there are certainly cases where that'd probably be preferable even to me.