个性化阅读
专注于IT技术分析

TypeScript switch分支语句 – TypeScript开发教程

上一章TypeScript教程请查看:TypeScript条件语句

TypeScript switch语句从多个条件执行一个语句。它根据表达式的值计算表达式的值,这些值可以是Boolean、number、byte、short、int、long、enum类型、string等。switch语句有一个对应于每个值的代码块。当找到匹配项时,将执行相应的块。switch语句的工作原理类似于if-else-if分支语句。

在switch语句中必须记住以下几点:

  • 一个switch语句中可能有N种情况。
  • 大小写值必须是惟一的。
  • 大小写值必须是常量。
  • 每个case语句在代码末尾都有一个break语句。break语句是可选的。
  • switch语句的末尾有一个默认的块。默认语句是可选的。

语法

switch(expression){  
  
case expression1:  
    //code
    break;  //可选
  
case expression2:  
    //code
    break;  //可选
    ........  
      
default:  
    //如果没有匹配的情况,则执行此块; 
    break;  //可选
}
  • switch语句包含以下的东西,在一个switch语句可以有任意数量的情况。
  • case:此case应该紧随其后的是只有一个常数,然后一个分号。它不能接受另一个变量或表达式。
  • break:break应该写在最后以阻止出来后的switch语句块执行情况。如果我们不写,继续执行后续情况下块匹配的价值。
  • default:默认块应该写在switch语句的结束。它执行时没有将匹配。
typescript-switch语句

例子

let a = 3;  
let b = 2;  
  
switch (a+b){  
    case 1: {  
        console.log("a+b is 1.");  
        break;  
    }  
    case 2: {  
        console.log("a+b is 5.");  
        break;  
    }  
    case 3: {  
        console.log("a+b is 6.");  
        break;  
    }  
      
    default: {  
        console.log("a+b is 5.");  
        break;  
    }  
}  

使用字符串的switch case

let grade: string = "A";  
switch (grade)  
{   
    case'A+':  
      console.log("Marks >= 90"+"\n"+"Excellent");  
      break;  
  
    case'A':  
      console.log("Marks [ >= 80 and <90 ]"+"\n"+"Good");  
      break;  
  
    case'B+':  
      console.log("Marks [ >= 70 and <80 ]"+"\n"+"Above Average");  
      break;  
  
    case'B':  
      console.log("Marks [ >= 60 and <70 ]"+"\n"+"Average");  
      break;  
  
    case'C':  
      console.log("Marks < 60"+"\n"+"Below Average");  
      break;  
  
    default:  
        console.log("Invalid Grade.");  
}  

在本例中,我们有一个字符串变量grade,switch语句计算等级变量值并与case子句匹配,然后执行其关联的语句。

使用enum枚举类型的switch case

在TypeScript中,我们可以通过以下方式使用带有Enum的switch case。

例子

enum Direction {  
    East,  
    West,  
    North,  
    South      
};  
var dir: DirectionDirection = Direction.North;  
  
function getDirection() {  
    switch (dir) {  
        case Direction.North: console.log('You are in North Direction');  
            break;  
        case Direction.East: console.log('You are in East Direction');  
            break;  
        case Direction.South: console.log('You are in South Direction');  
            break;  
        case Direction.West: console.log('You are in West Direction');  
            break;  
    }  
}  
getDirection();  

TypeScript Switch语句和fall-through

TypeScript switch语句是fall-through,它的意思是,如果没有出现break语句,那么它将在第一个匹配后执行所有语句。

例子

let number = 20;    
switch(number)  
{    
    //中断语句的情况    
    case 10: console.log("10");    
    case 20: console.log("20");    
    case 30: console.log("30");    
    default: console.log("Not in 10, 20 or 30");  
}  
赞(0)
未经允许不得转载:srcmini » TypeScript switch分支语句 – TypeScript开发教程

评论 抢沙发

评论前必须登录!