JavaScript Switch Case Statement

JavaScript switch statement evaluates a switch condition, base on switch condition value matched case will run until break or end of case statement.

Syntax

switch (condition){
    case value1:    
        // Do stuff if value1 is true
        [break;]
    case value2:
        // Do stuff if value2 is true
        [break;]
    ...
    ...
    case valueN:
        // Do stuff if valueN is true
        [break;]
    default:
        // Execute default if none of the case are execute
        [break;]
}

break keyword is optional for end of the case statement execute. break; is strongly recommended for preventing execute all other case statements.

Example: with break keyword

<script>
var weekname = "wednesday";
switch (weekname) {
    case "monday":
        document.writeln("Monday working day.");
        break;
    case "tuesday":
        document.writeln("Tuesday working day.");
        break;
    case "wednesday":
        document.writeln("Wednesday government holiday.");
        break;
    case "thursday":
        document.writeln("Thursday working day.");
        break;
    case "friday":
        document.writeln("Friday is a last working day of the week.");
        break;
    case "saturday":
        document.writeln("Saturday week end.");
        break;
    case "sunday":
        document.writeln("Sunday week end.");
        break;
    default:
        document.writeln("No any case found.");
        // last line end of the case statement, no need to write break; keyword 
}
</script>

Run it...   »

Example Result

Switch statement (without break keyword)

Case 1 :

Without break; keyword matching case execute. Not only matching case but after all cases and default cases are execute.

Example: without break keyword

<script>
var weekname = "wednesday";
switch (weekname) {
    case "monday":
        document.writeln("Monday working day.");
    case "tuesday":
        document.writeln("Tuesday working day.");
    case "wednesday":
        document.writeln("Wednesday government holiday.");
    case "thursday":
        document.writeln("Thursday working day.");
    case "friday":
        document.writeln("Friday is a last working day of the week.");
    case "saturday":
        document.writeln("Saturday week end.");
    case "sunday":
        document.writeln("Sunday week end.");
    default:
        document.writeln("No any case found.");
}
</script>

Run it...   »

Example Result

Case 2:

In some case I am missing to write break; keyword. Switch case execute the matching Case (case "wednesday"_ also execute after cases until next break; keyword. No matter if cases value are not satisfy (Case "thursday") still cases are execute.

Example: execute until next break keyword

<script>
var weekname = "wednesday";
switch (weekname) {
    case "monday":
        document.writeln("Monday working day.");
        break;
    case "tuesday":
        document.writeln("Tuesday working day.");
        break;
    case "wednesday":
        document.writeln("Wednesday government holiday.");
    case "thursday":
        document.writeln("Thursday working day.");
        break;
    case "friday":
        document.writeln("Friday is a last working day of the week.");
        break;
    case "saturday":
        document.writeln("Saturday week end.");
        break;
    case "sunday":
        document.writeln("Sunday week end.");
        break;
    default:
        document.writeln("No any case found.");
}
</script>

Run it...   »

Example Result

Switch statement use for check case range

Switch statement condition must be set true to check the cases range and execute the matched case otherwise execute default.

Example: execute until next break keyword

<script>
var bdate = 20;
switch (true) {
    case bdate >= 1 && bdate <= 10:     // Use Logical AND
        document.writeln("bdate between 1 to 10 date.");
        break;
    case bdate >= 11 && bdate <= 20:     // Use Logical AND
        document.writeln("bdate between 11 to 20 date.");
        break;
    case bdate >= 21 || bdate <= 30:     // Use Logical OR
        document.writeln("bdate between 21 to 30 date.");
        break;
    default:
        document.writeln("No any case found."); 
}
</script>

Run it...   »

Example Result