Typescript:Switch case教程

5,995 阅读2分钟

在这篇博文中,我们将通过实例来学习Switch case语句

类型脚本Switch case简介

switch case是一种条件表达式,它检查和评估表达式,并执行匹配的case代码块。它被用来代替if和else条件表达式。它可以避免多个if和else语句来简化代码。

语法

switch(conditionalexpression)  
{  
case value_expression:  
// body statements  
break;  
case value_expression1:  
// body statements  
break;  
default:  
// body statements  
break;  
}  

conditionalexpression

条件表达式被评估,使用case和default找出匹配的代码块。

  • case块--当条件表达式与case块匹配时,该代码被执行。

  • 默认块--当条件表达式与case块不匹配时,将执行这段代码 Break关键字用于中断或退出当前case块,它是可选的。如果不使用它,其余的案例将在执行匹配的案例语句后被执行。

例子

这里使用了单个案例语句,如果没有任何案例被匹配,则使用默认值。

var value = 'a';  
switch (value) {  
  case 'a':  
    console.log(' Letter a Checked');  
    break;  
  case 'b':  
    console.log(' Letter b Checked');  
    break;  
  default:  
    console.log(' default letter Checked');  
}  

输出是

Letter a Checked  

多个Switch case语句 例子

在一个代码块中可以放置多个案例。下面是一个例子

var value = 'c';  
switch (value) {  
    case 'a':  
        console.log(' Letter a Checked');  
        break;  
  case 'b':  
  case 'c':  
  case 'd':  
        console.log(' Letter b,c and d Checked');  
    break;  
  default:  
        console.log(' default letter Checked');  
    break;  
}  

输出是

Letter b,c, and d Checked  

开关案例 Enum 示例

switch表达式中,使用了Enum常量,并提供了带有enum常量的多个case语句。

enum Day {  
  MONDAY,  
  TUESDAY,  
    WEDNESDAY,  
    THURSDAY,  
    FRIDAY,  
    SATURDAY,  
  SUNDAY  
}  

  
case Day.SATURDAY:

  
function isWorkingDay(day: Day) {  
    switch (day) {  
        case Day.SUNDAY:  
            console.log('holiday');  
            break;  
        default:  
            console.log('working day');  
            break;  
    }  
}  
const tuesday = Day.TUESDAY;  
const sunday = Day.SUNDAY;  
isWorkingDay(tuesday); // working day  
isWorkingDay(sunday); // holiday  

输出是

working day  
holiday  

Typecript配置 - noFallthroughCasesInSwitch

noFallthroughCasesInSwitch的值是布尔值,即真或假。

这可以在typescript应用程序的tsconfig.json中配置。这被用来返回一个错误,以防止开关案例的落入。 以下是开关案例落入的例子,其中没有中断语句。

switch(value) {  
    case 1:  
        // statements  
    case 2:  
// statements 2  
}