# No-break switch

**URL:** <https://es.discourse.group/t/no-break-switch/279>\
**Category:** 💡 Ideas\
**Created:** [March 24, 2020, 7:57am UTC](https://es.discourse.group/t/no-break-switch/279 "2020-03-24T07:57:40Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Crissov](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/crissov/32/217_2.png) [@Crissov](https://es.discourse.group/u/Crissov)\
**Post date:** [March 24, 2020, 7:57am UTC](https://es.discourse.group/t/no-break-switch/279/1 "2020-03-24T07:57:40Z")

</div>

I wish there was a DRY variant of the `switch` construct that supported a concise syntax to filter a variable into several buckets for certain values, ranges, conditions or expressions without many `case` statements and without any `break`.

```javascript
switch (foo) {
  case 3, > 7: {do numeric stuff;} 
  case /^\d+/ || /\d+$/: {do stringy stuff;}
  case undefined, NaN: {do exceptional stuff;} 
} 

```

---

<div class="post-metadata">

**Author:** ![jmdyck](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/jmdyck/32/796_2.png) [@jmdyck](https://es.discourse.group/u/jmdyck)\
**Post date:** [March 24, 2020, 12:52pm UTC](https://es.discourse.group/t/no-break-switch/279/2 "2020-03-24T12:52:53Z")

</div>

See the Pattern Matching proposal: [https://github.com/tc39/proposal-pattern-matching](https://github.com/tc39/proposal-pattern-matching)

---

<div class="post-metadata">

**Author:** ![Crissov](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/crissov/32/217_2.png) [@Crissov](https://es.discourse.group/u/Crissov)\
**Post date:** [March 24, 2020, 1:19pm UTC](https://es.discourse.group/t/no-break-switch/279/3 "2020-03-24T13:19:27Z")

</div>

Thanks, that seems to cover pretty much everything I imagined.
