TypeScript

TypeScript switch case

 In this tutorial, you will about the TypeScript switch...case statement.

Introduction to TypeScript switch case statement

The following shows the syntax of the switch...case statement:

switch ( expression ) {
   case value1:
       // statement 1
       break;
   case value2:
       // statement 2
       break;
   case valueN:
       // statement N
       break;
   default: 
       // 
       break;
}

How it works:

First, the switch...case statement evaluates the expression.

Then, it searches for the first case clause whose expression evaluates to the same value as the value (value1value2, …valueN).

The switch...case statement will execute the statement in the first case clause whose value matches.

If no matching case clause is found, the switch...case statement looks for the optional default clause. If the default clause is available, it executes the statement in the default clause.

The break statement that associates with each case clause ensures that the control breaks out of the switch...case statement once the statements in the case clause complete.

If the matching case clause doesn’t have the break statement, the program execution continues at the next statement in the switch...case statement.

By convention, the default clause is the last clause in the switch...case statement. However, it doesn’t need to be so.

TypeScript switch case statement examples

Let’s take some examples of using the switch…case statement.

1) A simple TypeScript switch case example

The following example shows a simple switch...case example that shows a message based on the target Id:

let targetId = 'btnDelete';

switch (targetId) {
    case 'btnUpdate':
        console.log('Update');
        break;
    case 'btnDelete':
        console.log('Delete');
        break;
    case 'btnNew':
        console.log('New');
        break;
}

Output:

Delete

In this example, the targetId is set to btnDelete.

The switch...case statement compares the targetId with a list of values. Because the targetId matches the 'btnDelete' the statement in the corresponding case clause executes.

2) Grouping case example

If you have a code that is shared by multiple cases, you can group them. For example:

// change the month and year
let month = 2,
    year = 2020;

let day = 0;
switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        day = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        day = 30;
        break;
    case 2:
        // leap year
        if (((year % 4 == 0) &&
            !(year % 100 == 0))
            || (year % 400 == 0))
            day = 29;
        else
            day = 28;
        break;
    default:
        throw Error('Invalid month');
}

console.log(`The month ${month} in ${year} has ${day} days`);

Output:

The month 2 in 2020 has 29 days

This example returns the days of a specific month and year.

If the month is 1,3, 5, 7, 8, 12, the number of days is 31. If the month is 4, 6, 9, or 11, the number of days is 30.

If the month is 2 and the year is a leap year, it returns 29 days, otherwise, it returns 28 days.

About the Author: Narayan selvan

I am a front-end developer.