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语句的末尾有一个默认的块。默认语句是可选的。
【TypeScript switch分支语句 – TypeScript开发教程】语法
switch(expression){case expression1: //code break; //可选case expression2: //code break; //可选 ........default: //如果没有匹配的情况,则执行此块; break; //可选 }

  • switch语句包含以下的东西,在一个switch语句可以有任意数量的情况。
  • case:此case应该紧随其后的是只有一个常数,然后一个分号。它不能接受另一个变量或表达式。
  • break:break应该写在最后以阻止出来后的switch语句块执行情况。如果我们不写,继续执行后续情况下块匹配的价值。
  • default:默认块应该写在switch语句的结束。它执行时没有将匹配。
TypeScript switch分支语句 – TypeScript开发教程

文章图片
例子
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-throughTypeScript 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"); }

    推荐阅读