Ternary is just a compressed if-elseif-else chain with a guaranteed assignment.
If you format it like a sane person, or like you would an if/else chain, then it’s way easier to read than if/else chains.
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.
Bah
Ternary is just a compressed if-elseif-else chain with a guaranteed assignment.
If you format it like a sane person, or like you would an if/else chain, then it’s way easier to read than if/else chains.
if else chain? believe of or not, straight to jail.
Hey, when you gotta pick a value from a bunch of options, it’s either if/elseif/else, ternary, switch/case, or a map/dict.
Ternary generally has the easiest to read format of the options, unless you put it all on one line like a crazy person.
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.