You are viewing a single thread.
View all comments View context
3 points

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

permalink
report
parent
reply
8 points

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

permalink
report
parent
reply
2 points

Your probably right, that looks quite desirable.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
2 points

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

permalink
report
parent
reply
1 point
*

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.

permalink
report
parent
reply
4 points
*

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";
}
permalink
report
parent
reply
2 points
*

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"
};
permalink
report
parent
reply

Community stats

  • 1

    Monthly active users

  • 47

    Posts

  • 25

    Comments