switch

Selects one of many code blocks to run by comparing a value with case labels.

Since ES3 Spec ↗

Syntax

switch (expression) {
  case value1:
    // ...
    break;
  default:
    // ...
}

Examples

const fruit = "apple";
switch (fruit) {
  case "apple":
    console.log("red");
    break;
  case "banana":
    console.log("yellow");
    break;
  default:
    console.log("unknown");
}
Output
red
// Fall-through groups multiple cases
const day = 6;
switch (day) {
  case 6:
  case 7:
    console.log("weekend");
    break;
  default:
    console.log("weekday");
}
Output
weekend
const n = 3;
switch (true) {
  case n < 0:
    console.log("negative");
    break;
  case n === 0:
    console.log("zero");
    break;
  default:
    console.log("positive");
}
Output
positive

Notes

- Cases are compared with strict equality (`===`). - Without `break`, execution falls through to the next case. - `default` need not be last but is conventionally placed at the end.

Browser & runtime support

EnvironmentSince version
chrome 1.0
firefox 1.0
safari 1.0
edge 12
node 0.10

See also