Instrucțiunea switch în JavaScript, Typescript: modalitate de a rula același cod pentru două cazuri?


Există o modalitate de a atribui două valori diferite ale cazului aceluiași bloc de cod fără a copia și lipi? De exemplu, mai jos 68 și 40 ar trebui să execute același cod, în timp ce 30 nu este legat.

case 68:
   //Do something
break;

case 40:
   //Do the same thing
break;

case 30:
   //Do something different
break;

Este greșit să crezi că ceva de genul acesta ar trebui să funcționeze (chiar dacă evident nu funcționează)?

case 68 || 40:
   //Do something
break;

case 30:
   //Do something else
break;

Răspuns #1

Doar pune-le unul după altul fără pauză

switch (myVar) {
  case 68:
  case 40:
    // Do stuff
  break;

  case 30:
    // Do stuff
  break;
}

Răspunsul #2

Da, doar pui instrucțiunile case corespunzătoare unul lângă altul, astfel:

case 40:  // Fallthrough
case 68:
   // Do something
   break;

case 30:
   // Do something different
   break;

Comentariul Fallthrough este acolo din două motive:

  • Îi asigură pe cititorii umani că faci acest lucru în mod deliberat
  • Aceasta elimină avertismentele de la instrumente de tip Lint care emit avertismente despre posibila trecere accidentală mai departe.