Switch Statements in JavaScript
When you have multiple conditions that depend on one value, writing many if...else if statements can become long and difficult to read.
That’s where the switch statement helps.
A switch statement allows you to compare one value with multiple possible cases and run code based on which case matches.
It is commonly used in:
Menus
Modes (dark/light)
Grades
Status codes
Day/month names
User selections
Let’s understand switch in simple words.
Basic Syntax of switch
switch (value) {
case option1:
// code
break;
case option2:
// code
break;
default:
// code if no case matches
}
Important:
case ? a value to match
break ? stops the switch
default ? runs when nothing matches
Example 1: Simple Switch Example
let day = 3;
switch (day) {
case 1:
console.log("Monday");
break;
case 2:
console.log("Tuesday");
break;
case 3:
console.log("Wednesday");
break;
default:
console.log("Invalid day");
}
Output:
Wednesday
Example 2: Grade System
let grade = "B";
switch (grade) {
case "A":
console.log("Excellent");
break;
case "B":
console.log("Very Good");
break;
case "C":
console.log("Good");
break;
default:
console.log("Invalid Grade");
}
Output:
Very Good
Example 3: Menu Selection
let choice = 2;
switch (choice) {
case 1:
console.log("Start Game");
break;
case 2:
console.log("Load Game");
break;
case 3:
console.log("Exit");
break;
default:
console.log("Invalid Choice");
}
Output:
Load Game
Example 4: Multiple Cases with Same Output
Sometimes different cases require the same result.
let fruit = "apple";
switch (fruit) {
case "apple":
case "banana":
case "mango":
console.log("This is a fruit");
break;
default:
console.log("Not a fruit");
}
Output:
This is a fruit
Example 5: Switch With String Comparison
let color = "red";
switch (color.toLowerCase()) {
case "red":
console.log("Stop");
break;
case "yellow":
console.log("Ready");
break;
case "green":
console.log("Go");
break;
default:
console.log("Unknown color");
}
Output:
Stop
Example 6: Without break (Fall-through behavior)
If you don’t use break, the next cases will also run.
let x = 2;
switch (x) {
case 1:
console.log("One");
case 2:
console.log("Two");
case 3:
console.log("Three");
default:
console.log("Default");
}
Output:
Two
Three
Default
Important:
Always use break unless you want fall-through.
Real-Life Example: Payment Status Code
let status = "SUCCESS";
switch (status) {
case "SUCCESS":
console.log("Payment completed");
break;
case "FAILED":
console.log("Payment failed");
break;
case "PENDING":
console.log("Payment pending");
break;
default:
console.log("Unknown status");
}
Output:
Payment completed
Real-Life Example: Month Name
let month = 4;
switch (month) {
case 1:
console.log("January");
break;
case 2:
console.log("February");
break;
case 3:
console.log("March");
break;
case 4:
console.log("April");
break;
default:
console.log("Invalid month");
}
Output:
April
Common Mistakes Beginners Make
Forgetting
break, causing fall-throughUsing incorrect case type (string vs number)
Not using default
Confusing uppercase and lowercase comparisons
Using switch when simple if/else would be shorter
Example Program (Complete)
let mode = "dark";
switch (mode) {
case "dark":
console.log("Dark mode activated");
break;
case "light":
console.log("Light mode activated");
break;
default:
console.log("Unknown mode");
}
Output:
Dark mode activated