Upvote!
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
philnash@programming.dev to JavaScript@programming.devEnglish · 2 years ago

Stop nesting ternaries in JavaScript

www.sonarsource.com

external-link
message-square
34
fedilink
32
external-link

Stop nesting ternaries in JavaScript

www.sonarsource.com

philnash@programming.dev to JavaScript@programming.devEnglish · 2 years ago
message-square
34
fedilink
Nesting ternary operators makes code more complex and less clear. Let's investigate other ways to write conditional expressions.
  • spartanatreyu@programming.dev
    link
    fedilink
    arrow-up
    10
    ·
    2 years ago

    Pretty sure they meant match as in pattern matching, not switch as in switch/case/break.

    You can see the proposal here: https://github.com/tc39/proposal-pattern-matching

    • CameronDev@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      2 years ago

      Your probably right, that looks quite desirable.

    • JakenVeina@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 years ago

      Nah, I meant switch, as that’s what it’s called in C#-land. See above.

      That proposal for matching looks interesting, but not quite the same, no.

      • spartanatreyu@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        2 years ago

        Are you sure?

        Your C# example:

        var output = input switch
        {
            null    => "Null",
            0       => "Zero",
            > 0     => "Positive",
            _       => "Negative"
        };
        

        JS proposal for match:

        const output = match input {
            when null:    "Null";
            when 0:       "Zero";
            if input > 0: "Positive";
            default:      "Negative";
        }
        
        • JakenVeina@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          Aha, yeah, I see it now. Looking forward to it.

    • snowe@programming.dev
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      2 years ago

      they also said switch expressions, which indicates they want the switch statement to be settable directly to a variable with whatever the return type of the switch is.

      • spartanatreyu@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        2 years ago

        Match already returns the value which can be thrown into a variable.

JavaScript@programming.dev

javascript@programming.dev

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !javascript@programming.dev
Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1 user / day
  • 15 users / week
  • 64 users / month
  • 282 users / 6 months
  • 1 local subscriber
  • 2.43K subscribers
  • 181 Posts
  • 384 Comments
  • Modlog
  • mods:
  • Erlingur@programming.dev
  • Ategon@programming.dev
  • nick@programming.dev
  • BE: 0.19.6
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org