TypeScript中的条件语句

TypeScript中的条件语句

本文将介绍TypeScript中的条件语句。

YouTube Video

TypeScript中的If语句

在TypeScript中,if语句根据条件是否为true进行分支,如果条件为true则执行代码,若条件为false则不执行。if语句与JavaScript中的语法相同,并利用TypeScript的类型安全功能进行条件分支。

基本语法

if语句的基本语法如下。

1if (condition) {
2    // Code to execute if the condition is true
3} else if (anotherCondition) {
4    // Code to execute if the first condition is false
5    // and the another condition is true
6} else {
7    // Code to execute if all conditions are false
8}
  • 如果conditiontrue,则执行后续代码块中的代码。
  • 如果conditionfalseanotherConditiontrue,则执行后续代码块中的代码。
  • 如果没有条件为true,则执行最终else块中的代码。

示例1:基础的if-else语句

在以下示例中,检查变量x是否大于或等于10并输出结果。

1let x: number = 15;
2
3if (x >= 10) {
4    console.log("x is 10 or greater");
5} else {
6    console.log("x is less than 10");
7}
8// Outputs: x is 10 or greater

示例2:if-else if-else语句

若要检查多个条件,可以使用else if添加分支。

 1let score: number = 85;
 2
 3if (score >= 90) {
 4    console.log("Excellent");
 5} else if (score >= 70) {
 6    console.log("Passed");
 7} else {
 8    console.log("Failed");
 9}
10// Outputs: Passed

示例3:带类型检查的if语句

还可以使用TypeScript的类型检查功能为特定类型执行条件分支。例如,可以使用typeof操作符检查变量的类型并进行相应处理。

 1let value: any = "Hello";
 2
 3if (typeof value === "string") {
 4    console.log("The value is a string: " + value);
 5} else if (typeof value === "number") {
 6    console.log("The value is a number: " + value);
 7} else {
 8    console.log("The value is of another type");
 9}
10// Outputs: "The value is a string: Hello"

示例4:嵌套的if语句

你还可以嵌套if语句以检查复杂条件。

 1let age: number = 25;
 2let isMember: boolean = true;
 3
 4if (age >= 18) {
 5    if (isMember) {
 6        console.log("You are a member and 18 years old or older");
 7    } else {
 8        console.log("You are not a member but 18 years old or older");
 9    }
10} else {
11    console.log("You are under 18 years old");
12}
13// Output
14// You are a member and 18 years old or older

三元运算符(条件运算符)

语法

1condition ? valueIfTrue : valueIfFalse

如果想更简洁地编写if语句,可以使用三元运算符。

示例

1const number: number = 7;
2const result: string = number % 2 === 0 ? "Even" : "Odd";
3console.log(result); // "Odd"

在这种情况下,由于number7,将会显示Odd

总结

  • if语句是一种基本的控制结构,用于根据条件决定执行哪些处理。
  • 可以使用else if来处理多个条件。
  • 通过使用typeof,可以利用TypeScript的类型进行条件分支。
  • 通过嵌套if语句可以处理复杂条件。
  • 你也可以使用三元运算符以简洁的方式书写条件分支。

在TypeScript中,考虑类型安全使用if语句可以提高代码可靠性。

TypeScript中的Switch语句

TypeScript中的switch语句是一种控制结构,用于根据多个条件分支代码。与使用if-else if语句评估多个条件相比,可以使用switch语句更简洁地编写基于特定值的分支逻辑。

基本语法

 1switch (expressionToEvaluate) {
 2    case value1:
 3        // Code to execute if the expression evaluates to value1
 4        break;
 5    case value2:
 6        // Code to execute if the expression evaluates to value2
 7        break;
 8    default:
 9        // Code to execute if none of the conditions match
10}

switch语句中,如果case中指定的值与评估表达式匹配,则执行该case块。请注意,如果没有break,将连续执行下一个case块。default块在没有任何case语句匹配时执行。

示例1:基本的switch语句

在下面的示例中,输入一个表示星期几的数字(0到6),并根据该值输出相应的星期名称。

 1let day: number = 3;
 2
 3switch (day) {
 4    case 0:
 5        console.log("Sunday");
 6        break;
 7    case 1:
 8        console.log("Monday");
 9        break;
10    case 2:
11        console.log("Tuesday");
12        break;
13    case 3:
14        console.log("Wednesday");
15        break;
16    case 4:
17        console.log("Thursday");
18        break;
19    case 5:
20        console.log("Friday");
21        break;
22    case 6:
23        console.log("Saturday");
24        break;
25    default:
26        console.log("Invalid day");
27}
28// Outputs: Wednesday

示例2:使用default的示例

default非常有用,因为当没有任何case语句匹配时它会运行,从而允许您处理意外值。

 1let statusText: string = "pending";
 2
 3switch (statusText) {
 4    case "success":
 5        console.log("Operation succeeded");
 6        break;
 7    case "error":
 8        console.log("An error occurred");
 9        break;
10    case "pending":
11        console.log("Processing");
12        break;
13    default:
14        console.log("Unknown status");
15}
16// Outputs: Processing

示例3:为多个case执行相同的过程

如果您想对多个case语句执行相同的操作,可以将它们连续列出。

 1let fruit: string = "apple";
 2
 3switch (fruit) {
 4    case "apple":
 5    case "banana":
 6    case "orange":
 7        console.log("This is a fruit");
 8        break;
 9    default:
10        console.log("This is not a fruit");
11}
12// Outputs: This is a fruit

示例4:省略break时的行为

省略break会导致“贯穿”行为,其中下一个case也会被执行。

 1let rank: number = 1;
 2
 3switch (rank) {
 4    case 1:
 5        console.log("Gold");
 6    case 2:
 7        console.log("Silver");
 8    case 3:
 9        console.log("Bronze");
10    default:
11        console.log("Not ranked");
12}
13// Outputs:
14// Gold
15// Silver
16// Bronze
17// Not ranked

以这种方式,在一个case匹配后,下一个case也会被执行,因此通常使用break以防止不必要的贯穿。

总结

  • switch语句是一种控制结构,允许您简洁地基于多个条件编写分支逻辑。
  • 每个case都应该通过break显式终止流程。
  • 如果没有任何case匹配,则执行default块。
  • 也可以对多个case执行相同的操作。

TypeScript中的switch语句对于高效地处理多个条件,同时保持代码可读性非常有用。

您可以在我们的YouTube频道上使用Visual Studio Code跟随上述文章进行学习。 请也查看我们的YouTube频道。

YouTube Video