Switch Case

Bei Verzweigungen mit vielen Fällen wird es mit der if-Anweisung mühsam. Alternativ gibt es dazu die Switch-Anweisung.

Syntax:

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Beispiel:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JS-Demo for switch</title>
    </head>
    <body> 
        <h3>JS-Demo for switch</h3>       
        <script>
            "use strict";
            const day = Number(prompt("Input a number (1, 2, ..., 7"));
            let dayName = "?";
            switch (day) {
                case 1:
                    dayName = 'Sunday';
                    break;
                case 2:
                    dayName = 'Monday';
                    break;
                case 3:
                    dayName = 'Tuesday';
                    break;
                case 4:
                    dayName = 'Wednesday';
                    break;
                case 5:
                    dayName = 'Thursday';
                    break;
                case 6:
                    dayName = 'Friday';
                    break;
                case 7:
                    dayName = 'Saturday';
                    break;
                default:
                    dayName = 'Invalid day';
            }
            alert(dayName); 
        </script>
    </body>
</html>

Weiteres Beispiel:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Another demo for switch</title>
    </head>
    <body> 
        <h3>Another demo for switch</h3>       
        <script>
            "use strict";
            const day = Number(prompt("Input a number (1, 2, ..., 7"));
            let dayName = "?";
            switch (day) {
                case 1:
                    dayName = 'Sunday';
                    break;
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                    dayName = 'Weekday';
                    break;
                case 7:
                    dayName = 'Saturday';
                    break;
                default:
                    dayName = 'Invalid day';
            }
            alert(dayName); 
        </script>
    </body>
</html>

Beachte die break-Anweisung! Ohne break läuft die Switch-Anweisung auch die weiteren Fälle durch und es kommt zum Ausführen anderer Verzweigungen!