The use of the comma operator and logical OR (||) operator within switch cases is not recommended. The switch statement is designed to evaluate a
single expression and compare it against multiple values. When you use the comma operator or logical OR operator within a case, you’re essentially
trying to match multiple values or conditions simultaneously: only the rightmost value will ever be considered with the comma operator, and the first
truthy operand will be handled with the logical OR operator.
This behavior is not well-defined and can lead to unexpected results.
switch (a) {
  case 1, 2:   // Noncompliant: only 2 is matched by this case
    doTheThing(a);
  case 3 || 4: // Noncompliant: only 3 is matched by this case
    doThatThing(a);
  case 5:
    doTheOtherThing(a);
  default:
    console.log('Neener, neener!');
}
Using the comma operator or logical OR operator to combine multiple values or conditions within a single case can make the code more complex and
difficult to read. It goes against the intention of the switch statement, which is to provide a concise and clear structure for branching based on a
single value.
The switch statement should solely be used to rely on exact value matching instead.
switch (a) {
  case 1:
  case 2:
    doTheThing(a);
  case 3:
  case 4:
    doThatThing(a);
  case 5:
    doTheOtherThing(a);
  default:
    console.log('Neener, neener!');
}
The rule makes an exception for the switch (true) pattern, which is sometimes used as a workaround to achieve a similar effect to a
series of if-else statements. This pattern allows you to evaluate multiple conditions acting as guards and execute corresponding code
blocks based on the first matching condition.
function weekStatus (day) {
  let status;
  switch (true) {
    case (day === 'MON' || day === 'TUE' || day === 'WED' || day === 'THU' || day === 'FRI'):
      status = 'Weekday';
      break;
    case (day === 'SAT' || day === 'SUN'):
      status = 'Weekend';
      break;
  }
  return status;
}