JavaScript switch
statement provides a way to execute different code blocks based on different conditions. It's an alternative to using multiple if...else if...else
statements when you have multiple conditions to check.
Table of Content
Switch Statement Syntax
switch (expression) {
case value1:
// code block 1;
break;
case value2:
// code block 2;
break;
...
default:
// default code block;
}
Expression
is the value that you want to compare.Case value1
,case value2
, etc., represent the possible values of theexpression
.break
statement terminates theswitch
statement. Without it, execution will continue into the next case.Default
specifies the code to run if none of the cases match theexpression
.
How Switch Statement Works
- Evaluation: The expression inside the
switch
statement is evaluated once. - Comparison: The value of the expression is compared with each
case
label (using strict equality===
). - Execution: If a match is found, the corresponding code block following the matching
case
label is executed. If no match is found, the execution jumps to thedefault
case (if present) or continues with the next statement after theswitch
block. - Break Statement: After executing a code block, the
break
statement terminates theswitch
statement, preventing execution from falling through to subsequent cases. Ifbreak
is omitted, execution will continue to the next case (known as "fall-through"). - Default Case: The
default
case is optional. If no match is found, the code block underdefault
is executed.
Flowchart of Switch Statement
Switch Statement Example:
Here, we will print the day name on day 3.
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
}
console.log(dayName); // Output: Wednesday
Output
Wednesday
Explanation:
Day
is set to3
.- The
switch
statement evaluatesday
. - Since
day
is3
, thecase 3
block is executed, assigning"Wednesday"
todayName
. - The
break
statement ends theswitch
statement, preventing execution from continuing into other cases.
Switch Statement Example:
Here, we will check our grade by using a switch case.
let grade = 'B';
let result;
switch (grade) {
case 'A':
result = "A (Excellent)";
break;
case 'B':
result = "B (Average)";
break;
case 'C':
result = "C (Below than average)";
break;
default:
result = "No Grade";
}
console.log(result);
Output
B (Average)
Explanation:
Grade
is assigned the value'B'
.- The
switch
statement evaluates the value ofgrade
. - Since
grade
is'B'
, the code block followingcase 'B':
is executed. - The
result
variable is assigned the string"B (Average)"
. - The
break
statement terminates theswitch
statement. result
is logged to the console, which outputs"B (Average)"
.
Break Keyword
The break
keyword is used to terminate the execution of a loop or a switch
statement.
default Keyword
The default
keyword is used within a switch
statement as a fallback option when none of the case
expressions match the value being evaluated. It acts similar to the else
statement in an if...else
chain, providing a default action to take when no other specific cases match.
Position of default case does not matters:
Regardless of its placement, the default case only gets executed if none of the other case conditions are met. So, putting it at the beginning, middle, or end doesn't change the core logic (unless you're using a less common technique called fall-through).
we will print the default case.
let day = 8;
let dayName;
switch (day) {
default:
dayName = "Invalid day";
break;
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
}
console.log(dayName);
Output
Invalid day
Common Code Blocks
In some cases, we need to use the same code for multiple switch cases. Let's see an example of how to do it:
Common Code Blocks Example:
Here, we will same code blocks for two different switch cases.
let grade = 'A'
let result;
switch (grade) {
case 'A':
result = "Grade is excellent"
break;
case 'B':
;
case 'C':
;
result = "Grade is Average "
break;
case 'D':
result = "Grade is Poor"
break;
default:
text = "NO grades achieved";
}
console.log(result)
Output
Grade is excellent
Explanation:
Grade
is assigned the value'A'
.- The
switch
statement evaluates the value ofgrade
. - Since
grade
matches'A'
, the code block followingcase 'A':
is executed, settingresult
to"Grade is excellent"
. - The
break
statement terminates theswitch
statement. Result
is logged to the console, which outputs"Grade is excellent"
.
Note: If there are multiple switch cases that match a value, the first is executed.