me personally, i prefer switch case statements for many-value selection, but if ternary works for you, go ham (as long as you don’t happen to be the guy who’s code I keep having to scrub lol)
If there’s more than two branches in the decision tree I’ll default to a if/else or switch/case except if I want to initialise a const to a conditional value, which is one of the places I praise the lord for ternaries.
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:
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.
me personally, i prefer switch case statements for many-value selection, but if ternary works for you, go ham (as long as you don’t happen to be the guy who’s code I keep having to scrub lol)
If there’s more than two branches in the decision tree I’ll default to a if/else or switch/case except if I want to initialise a
const
to a conditional value, which is one of the places I praise the lord for ternaries.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;
Over
var foo; if(x>100) { foo=bar; } else if(x>50) { foo=baz; } else if(x>10) { foo=qux; } else { foo=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.