JavaScript Switch
Handling multiple conditions with switch statements
🔀 What is a Switch Statement?
The switch statement is used to perform different actions based on different conditions. It's a cleaner alternative to multiple if-else statements.
// Basic switch example
let day = "Monday";
switch (day) {
case "Monday":
console.log("Start of work week!");
break;
case "Friday":
console.log("TGIF!");
break;
default:
console.log("Regular day");
}
Output:
Start of work week!
Switch Statement Components
Switch Keyword
Starts the switch statement
switch (expression) {}
Case Labels
Define possible values
case "value":
// code
Break Statement
Exits the switch block
break;
Default Case
Fallback when no case matches
default:
// fallback code
🔹 Basic Switch Statement
A simple switch statement with multiple cases:
let grade = "B";
switch (grade) {
case "A":
console.log("Excellent work!");
break;
case "B":
console.log("Good job!");
break;
case "C":
console.log("You can do better!");
break;
case "D":
console.log("Need improvement!");
break;
case "F":
console.log("Failed. Study harder!");
break;
default:
console.log("Invalid grade!");
}
Output:
Good job!
🔹 Switch with Numbers
Switch statements work with numbers too:
let month = 3;
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("Other month");
}
// Calculator example
let operation = "+";
let a = 10;
let b = 5;
let result;
switch (operation) {
case "+":
result = a + b;
break;
case "-":
result = a - b;
break;
case "*":
result = a * b;
break;
case "/":
result = a / b;
break;
default:
result = "Invalid operation";
}
console.log("Result:", result);
Output:
March
Result: 15
🔹 Fall-through Cases
When you omit break, cases "fall through" to the next one:
let day = "Saturday";
switch (day) {
case "Monday":
case "Tuesday":
case "Wednesday":
case "Thursday":
case "Friday":
console.log("It's a weekday");
break;
case "Saturday":
case "Sunday":
console.log("It's weekend!");
break;
default:
console.log("Invalid day");
}
// Season example
let month = "December";
switch (month) {
case "December":
case "January":
case "February":
console.log("Winter season");
break;
case "March":
case "April":
case "May":
console.log("Spring season");
break;
case "June":
case "July":
case "August":
console.log("Summer season");
break;
default:
console.log("Fall season");
}
Output:
It's weekend!
Winter season
🔹 Switch vs If-Else
Comparing switch with equivalent if-else statements:
// Using switch
let color = "red";
switch (color) {
case "red":
console.log("Stop!");
break;
case "yellow":
console.log("Caution!");
break;
case "green":
console.log("Go!");
break;
default:
console.log("Unknown signal");
}
// Equivalent if-else
if (color === "red") {
console.log("Stop!");
} else if (color === "yellow") {
console.log("Caution!");
} else if (color === "green") {
console.log("Go!");
} else {
console.log("Unknown signal");
}
// Switch is cleaner for many conditions!
Output:
Stop!
Stop!
🔹 Practical Examples
Real-world applications of switch statements:
// Menu system
let userChoice = "2";
switch (userChoice) {
case "1":
console.log("You selected: View Profile");
break;
case "2":
console.log("You selected: Edit Settings");
break;
case "3":
console.log("You selected: Logout");
break;
default:
console.log("Invalid choice. Please try again.");
}
// HTTP status codes
let statusCode = 404;
switch (statusCode) {
case 200:
console.log("Success: Request completed");
break;
case 404:
console.log("Error: Page not found");
break;
case 500:
console.log("Error: Server error");
break;
default:
console.log("Unknown status code");
}
Output:
You selected: Edit Settings
Error: Page not found