• guber@lemmy.blahaj.zoneOP
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    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)

    • PeriodicallyPedantic@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      19 hours ago

      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.

    • thebestaquaman@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      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.