• Marxine@lemmy.ml
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    1 year ago

    Having some experience with both Python and JS/TS, I don’t have much preference about ternaries or expressions. Although I always break lines for ternary statements.

    const testStuff = condition ? 
      outcome(1) :
      outcome(2);
    

    Having everything on the same line ruins readability for me.

    • lee
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      personally I prefer

      const testStuff = condition
        ? outcome(1) 
        : outcome(2); 
      
      • Marxine@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Also works fine and is better than inlining it all. I’m just more used to ending the lines with the symbols - instead of starting the next line with them like your example - because it’s the same parttern I use for other stuff, like (curly) brackets.

    • Knusper@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      The if-else expression that Python has is quite different from (and significantly worse than) what people mean with if-else as an expression.

      So, this is Python:

      volume = 100 if user_is_deaf else 50
      

      These are two examples of if-else as an expression (Rust and Scala):

      let volume = if user_is_deaf { 100 } else { 50 };
      
      val volume = if (user_is_deaf) 100 else 50
      

      Crucially, these look essentially equivalent to normal if-else-statements in these languages.