Switch Statements0%
Switch Statements
Beginner12 min read•Updated: Jul 11, 2026
Switch Statements in JavaScript
When an algorithm must test a single variable against many potential constant values, chaining ten else if statements can become repetitive and visually cluttered. The switch statement provides a structured, readable alternative.
1. Syntax of a switch Statement
JavaScript
switch (expression) {
case value1:
// Code executed when expression === value1
break;
case value2:
// Code executed when expression === value2
break;
default:
// Code executed if NO cases matched
}
Real-World Example: User Role Router
JavaScript
function getDashboardRedirectUrl(role) {
switch (role) {
case "admin":
return "/admin/dashboard";
case "instructor":
return "/teacher/classes";
case "student":
return "/student/my-courses";
default:
return "/login";
}
}
console.log(getDashboardRedirectUrl("student")); // "/student/my-courses"
2. The Critical Role of the break Statement
Important Warning
[!WARNING]
If you omit the
break statement (or a return), JavaScript will continue executing subsequent cases automatically, regardless of whether their conditions match! This behavior is called Fall-Through.The Fall-Through Trap:
JavaScript
let fruit = "apple";
switch (fruit) {
case "apple":
console.log("Apples are $2");
// Missing break!
case "banana":
console.log("Bananas are $1");
break;
}
// Output:
// Apples are $2
// Bananas are $1 <-- Accidentally executed!
3. Intentional Fall-Through (Multi-Case Grouping)
Sometimes fall-through is exactly what you want! You can group multiple cases together to execute the same logic:
JavaScript
function getDayCategory(dayNumber) {
switch (dayNumber) {
case 1:
case 2:
case 3:
case 4:
case 5:
return "Weekday (Work / Study)";
case 6:
case 7:
return "Weekend (Relax & Code!)";
default:
return "Invalid Day Number";
}
}
console.log(getDayCategory(3)); // "Weekday (Work / Study)"
console.log(getDayCategory(6)); // "Weekend (Relax & Code!)"
4. switch Uses Strict Equality (===)
A switch statement compares cases using strict equality (===):
JavaScript
let input = "5"; // String
switch (input) {
case 5:
console.log("Number 5 matched");
break;
default:
console.log("No match found!"); // This executes because "5" !== 5!
}
Interactive Quiz
Practice Quiz
Question 1
What comparison mechanism does the
switch statement use to match cases?Question 2
What happens if a developer forgets to include a
break statement at the end of a matching case?Question 3
What is the purpose of the
default clause in a switch statement?Question 4
How can you handle multiple cases that require the exact same code block?
Question 5
If a case block contains a
return statement, is a break statement still necessary?Next Lesson
Truthy & Falsy Values
Continue learning with hands-on practice, examples, and exercises in the upcoming topic.
Related Lessons
| Previous Lesson | Next Lesson |
|---|---|
| Conditional Statements: if, else if, else | Truthy & Falsy Values |
Practice Quiz
Test your understanding of this lesson with 5 questions. Each question has one correct answer.