• CameronDev@programming.dev
    ·
    10 months ago

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch - hasnt it had this forever? Or are you refering to something else?

    • spartanatreyu@programming.dev
      ·
      10 months 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

      • snowe@programming.dev
        ·
        10 months 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.

      • JakenVeina@lemm.ee
        ·
        edit-2
        10 months 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
          ·
          edit-2
          10 months 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
      ·
      edit-2
      10 months ago

      Yeah, a switch expression is different than a switch statement. I'm not actually sure how many languages actually have them, but in C# its...

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