switch
Selects one of many code blocks to run by comparing a value with case labels.
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
| Environment | Since version |
|---|---|
| chrome | 1.0 |
| firefox | 1.0 |
| safari | 1.0 |
| edge | 12 |
| node | 0.10 |