Instagram
youtube
Facebook
Twitter

Switch Statement

The switch statement is a powerful control structure in JavaScript that allows you to evaluate an expression and execute different blocks of code based on the value of that expression. It is particularly useful when you have multiple conditions to check against a single expression, making your code cleaner and more readable than using a series of if...else if statements. In this lesson, you will learn how to use the switch statement effectively.


1. What is the Switch Statement?

The switch statement evaluates an expression and matches its value against a series of case statements. When a match is found, the corresponding block of code is executed. If no match is found, the optional default block can be executed.


2. Syntax of the Switch Statement

The basic syntax of a switch statement is as follows:

switch (expression) {
    case value1:
        // Code to execute if expression equals value1
        break;
    case value2:
        // Code to execute if expression equals value2
        break;
    // Add more cases as needed
    default:
        // Code to execute if no case matches
}
  • expression: The value to be compared against the case values.
  • case: Each case statement checks if the expression matches the specified value.
  • break: This statement exits the switch block. If omitted, execution will continue into the next case (fall-through).
  • default: This optional block executes if no cases match the expression.

3. Basic Example of a Switch Statement

Here's a simple example of a switch statement that evaluates a variable day and prints the corresponding day of the week:

let day = 3;
let dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday"; // This will execute
        break;
    case 4:
        dayName = "Thursday";
        break;
    case 5:
        dayName = "Friday";
        break;
    case 6:
        dayName = "Saturday";
        break;
    case 7:
        dayName = "Sunday";
        break;
    default:
        dayName = "Unknown day";
}

console.log("Today is " + dayName); // Outputs: Today is Wednesday

4. Fall-Through Behavior

One of the key features of the switch statement is fall-through behavior. If you omit the break statement in a case, execution will continue into the next case, even if it doesn't match. This can be useful for grouping multiple cases together.

Example of Fall-Through:

let fruit = "banana";

switch (fruit) {
    case "apple":
        console.log("You chose an apple.");
        break;
    case "banana":
    case "mango":
        console.log("You chose a banana or mango."); // This will execute
        break;
    case "orange":
        console.log("You chose an orange.");
        break;
    default:
        console.log("Unknown fruit.");
}

Output:

You chose a banana or mango.

5. Using Expressions in Switch Statements

You can use expressions in the switch statement. The expression can be a variable or a more complex expression like mathematical operations.

Example:

let score = 85;

switch (true) {
    case score >= 90:
        console.log("Grade: A");
        break;
    case score >= 80:
        console.log("Grade: B"); // This will execute
        break;
    case score >= 70:
        console.log("Grade: C");
        break;
    default:
        console.log("Grade: D or lower");
}

Output:

Grade: B

6. The Default Case

The default case is optional but is a good practice to include it. It provides a fallback if no cases match the expression, ensuring that your program can handle unexpected values gracefully.

Example:

let color = "blue";

switch (color) {
    case "red":
        console.log("Stop!");
        break;
    case "yellow":
        console.log("Caution!");
        break;
    case "green":
        console.log("Go!");
        break;
    default:
        console.log("Unknown color!"); // This will execute
}

Output:

Unknown color!

7. Best Practices for Using Switch Statements

  • Use switch for Multiple Conditions: When you have multiple potential conditions for a single variable, switch can improve readability compared to many if...else statements.
  • Always Include a Default Case: This helps handle unexpected cases and makes your code more robust.
  • Be Mindful of Fall-Through: If you do not intend for fall-through behavior, remember to include break statements at the end of each case.
  • Consider Alternatives for Complex Logic: For very complex conditions, using if...else if statements might be more appropriate.

8. Coding Exercise

Now it’s time to practice using the switch statement! Create a JavaScript file named switchPractice.js and implement the following exercises:

  1. Write a program that takes a number (1-12) and outputs the corresponding month of the year.
  2. Create a menu system that uses a switch statement to display different options based on user input (e.g., 1 for coffee, 2 for tea, etc.).

Example Solution:

// 1. Month of the year
let monthNumber = 5; // Change this to test different months
let month;

switch (monthNumber) {
    case 1:
        month = "January";
        break;
    case 2:
        month = "February";
        break;
    case 3:
        month = "March";
        break;
    case 4:
        month = "April";
        break;
    case 5:
        month = "May"; // This will execute
        break;
    case 6:
        month = "June";
        break;
    case 7:
        month = "July";
        break;
    case 8:
        month = "August";
        break;
    case 9:
        month = "September";
        break;
    case 10:
        month = "October";
        break;
    case 11:
        month = "November";
        break;
    case 12:
        month = "December";
        break;
    default:
        month = "Invalid month";
}

console.log("The month is " + month); // Outputs: The month is May

// 2. Menu System
let choice = 2; // Change this to test different options

switch (choice) {
    case 1:
        console.log("You chose coffee.");
        break;
    case 2:
        console.log("You chose tea."); // This will execute
        break;
    case 3:
        console.log("You chose juice.");
        break;
    default:
        console.log("Invalid choice.");
}

Conclusion

In this lesson, you learned about the switch statement in JavaScript, including its syntax, use cases, and best practices. The switch statement is an effective way to handle multiple conditions based on the same expression, providing a cleaner and more organized approach than using several if...else if statements.

In the next lesson, we will explore Loops, where you’ll learn how to iterate through data and perform repetitive tasks in JavaScript.