Stop nesting ternaries in JavaScriptwww.sonarsource.comexternal-link philnash ( @philnash@programming.dev ) JavaScript@programming.devEnglish • 10 months ago message-square25fedilinkarrow-up126
arrow-up126external-linkStop nesting ternaries in JavaScriptwww.sonarsource.com philnash ( @philnash@programming.dev ) JavaScript@programming.devEnglish • 10 months ago message-square25fedilink
minus-square CameronDev ( @CameronDev@programming.dev ) linkfedilink4•10 months agohttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch - hasnt it had this forever? Or are you refering to something else?
minus-square spartanatreyu ( @spartanatreyu@programming.dev ) linkfedilink10•10 months agoPretty 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
minus-square CameronDev ( @CameronDev@programming.dev ) linkfedilink3•10 months agoYour probably right, that looks quite desirable.
minus-square snowe ( @snowe@programming.dev ) linkfedilink2•10 months agothey 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.
minus-square spartanatreyu ( @spartanatreyu@programming.dev ) linkfedilink2•10 months agoMatch already returns the value which can be thrown into a variable.
minus-square JakenVeina ( @JakenVeina@lemm.ee ) linkfedilink1•edit-210 months agoNah, 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.
minus-square spartanatreyu ( @spartanatreyu@programming.dev ) linkfedilink4•edit-210 months agoAre 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"; }
minus-square JakenVeina ( @JakenVeina@lemm.ee ) linkfedilink1•10 months agoAha, yeah, I see it now. Looking forward to it.
minus-square JakenVeina ( @JakenVeina@lemm.ee ) linkfedilink2•edit-210 months agoYeah, 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" };
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch - hasnt it had this forever? Or are you refering to something else?
Pretty sure they meant
match
as in pattern matching, notswitch
as in switch/case/break.You can see the proposal here: https://github.com/tc39/proposal-pattern-matching
Your probably right, that looks quite desirable.
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.Match already returns the value which can be thrown into a variable.
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.
Are you sure?
Your C# example:
JS proposal for match:
Aha, yeah, I see it now. Looking forward to it.
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…