DEV Community

Discussion on: If (all) else is complicated, switch to switch?

Collapse
 
dantederuwe profile image
Dante De Ruwe • Edited

Coincidentally, a friend of mine told me this week his switch(true) did not pass his code review, despite the arguments of it looking much clearer. Some people will not accept this, so beware 😛

Collapse
 
moopet profile image
Ben Sinclair

Because anyone who isn't used to seeing it will think it's a typo and then have to rethink what the function is doing.

Collapse
 
jmdejager profile image
🐤🥇 Jasper de Jager

But what if it is more common. At some point you would expect a turning point if there are no other downsides ofcourse.

Thread Thread
 
moopet profile image
Ben Sinclair

Generally I think people are trying to move away from functions that have a lot of conditionals, so it's probably not going to become more common.

Thread Thread
 
jmdejager profile image
🐤🥇 Jasper de Jager

good point, not a fan of them myself 😉

Collapse
 
hey_yogini profile image
Yogini Bende

Would like to understand the reason for not allowing switch (if you can share). Because. even I have started using switch over if-else in many cases. It just make more sense to me.

Collapse
 
jmdejager profile image
🐤🥇 Jasper de Jager

I think it is because it takes an extra thinking step.
if/else-if is more easily read as a sentence. But please let me know if there are other reasons.

Thread Thread
 
thalitadev profile image
Thalita G. • Edited

Just a bit of a guess here, but I think the switch statement is considered a last resort when you have a ton of conditionals that can't be done any other way.

The switch statement may be like a logic shortcut when there may be another solution out there. Sometimes if/else is sufficient and reads easier when you really don't have that many statements. Sometimes a quick if like if (!someExpressionA) { return console.log('yes') } may be a less intensive solution. And some people just don't like using conditionals at all and prefer to use objects whenever they can.

I kinda use all four solutions depending on the situation, so maybe @dantederuwe 's friend didn't pass because there was a better solution. Just a total guess of course!

Collapse
 
jmdejager profile image
🐤🥇 Jasper de Jager • Edited

hence my question, should I use it 😁