philnash@programming.dev to JavaScript@programming.devEnglish · 1 year agoStop nesting ternaries in JavaScriptwww.sonarsource.comexternal-linkmessage-square13fedilinkarrow-up13arrow-down11
arrow-up12arrow-down1external-linkStop nesting ternaries in JavaScriptwww.sonarsource.comphilnash@programming.dev to JavaScript@programming.devEnglish · 1 year agomessage-square13fedilink
minus-squareCameronDev@programming.devlinkfedilinkarrow-up0·1 year 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-squarespartanatreyu@programming.devlinkfedilinkarrow-up1·1 year 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-squareJakenVeina@lemm.eelinkfedilinkarrow-up0·edit-21 year 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-squarespartanatreyu@programming.devlinkfedilinkarrow-up2·edit-21 year 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"; }
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
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:
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"; }