Learn to Use the Switch Statement in JavaScript Like a Pro

Learn to Use the Switch Statement in JavaScript Like a Pro

In JavaScript, the switch statement is a powerful control structure designed to handle multiple conditions based on a single fixed value. This makes it a great alternative to chaining multiple if-else statements, improving readability and performance in some cases.


The switch statement is used when you have a fixed set of values to compare against a single variable or expression. It evaluates the expression once and matches it to a case. If a match is found, the corresponding block of code is executed.

  1. Simple Comparisons: Ideal for comparing one value against multiple fixed options.

  2. Case Sensitivity: Comparisons are strict, so "Red" is not the same as "red".

  3. Default Case: A default block is executed if no cases match, making it a fallback for unexpected values.

  4. Break Keyword: Ensures the code exits the switch statement after executing the matching block.


switch(expression) {
    case value1:
        // Code block for value1
        break;
    case value2:
        // Code block for value2
        break;
    default:
        // Code block if no case matches
}

The switch statement is perfect for scenarios like traffic light controls, where fixed values (red, yellow, green) dictate specific actions.

let color = "red";

switch(color) {
    case "red":
        console.log("Stop");
        break;
    case "yellow":
        console.log("Slow down");
        break;
    case "green":
        console.log("Go");
        break;
    default:
        console.log("Broken light");
}

  1. The switch evaluates the value of color.

  2. It compares color to each case.

  3. If a match is found, the corresponding code is executed.

  4. The break statement ensures the program exits the switch block after executing the matching case.

  5. If no cases match, the default block is executed.


  1. Menu Selection
    Allow users to pick from predefined options, such as app settings or commands.

  2. Day of the Week Logic
    Implement actions based on the current day.

  3. Error Handling
    Map specific error codes to user-friendly error messages.


  1. Use Break Statements:
    Always include break unless you intend for the cases to "fall through" (execute multiple cases in sequence).

     switch(value) {
         case 1:
             console.log("Case 1");
             break;
         case 2:
             console.log("Case 2");
             // Missing break will execute the next case as well
         case 3:
             console.log("Case 3");
     }
    
  2. Provide a Default Case:
    The default block acts as a safety net for unexpected values and helps avoid silent failures.

  3. Use Readable Values:
    Make the case values meaningful and consistent to avoid confusion, especially with strings.

  4. Avoid Overusing:
    Use switch only when dealing with fixed comparisons. For ranges or complex conditions, if-else might be a better choice.


FeatureSwitch StatementIf-Else Statement
Ideal forComparing a single value to multiple fixed optionsComplex conditions involving ranges or calculations
ReadabilityEasier to read when there are many fixed casesCan get messy with many conditions
PerformancePotentially faster for many comparisonsSlightly slower due to repeated evaluations
FlexibilityLimited to equality checksAllows for greater complexity in conditions

Write a program to display grades based on marks:

  • 90-100: "A"

  • 80-89: "B"

  • 70-79: "C"

  • Below 70: "Fail"

      let marks = 85;
    
      switch(true) {
          case (marks >= 90 && marks <= 100):
              console.log("Grade: A");
              break;
          case (marks >= 80 && marks < 90):
              console.log("Grade: B");
              break;
          case (marks >= 70 && marks < 80):
              console.log("Grade: C");
              break;
          default:
              console.log("Grade: Fail");
      }
    


Write a program to display the day of the week based on a number (1 for Monday, 7 for Sunday).

let day = 3;

switch(day) {
    case 1:
        console.log("Monday");
        break;
    case 2:
        console.log("Tuesday");
        break;
    case 3:
        console.log("Wednesday");
        break;
    case 4:
        console.log("Thursday");
        break;
    case 5:
        console.log("Friday");
        break;
    case 6:
        console.log("Saturday");
        break;
    case 7:
        console.log("Sunday");
        break;
    default:
        console.log("Invalid day");
}