TypeScript - 决策语句



在 TypeScript 中,决策语句用于根据特定条件控制执行流程。TypeScript 支持 ES6 中所有类型的决策结构,包括 if、if...else、switch 语句。作为 JavaScript 的超集,TypeScript 继承并扩展了 JavaScript 的特性,包括决策语句。

决策结构要求程序员指定一个或多个条件供程序评估或测试,以及如果条件确定为真则要执行的语句(或语句),以及可选地,如果条件确定为假则要执行的其他语句。

下面显示的是大多数编程语言中常见的典型决策结构的一般形式:

Decision Making

决策结构在执行指令之前会评估条件。TypeScript 中的决策结构分类如下:

序号 语句及描述
1. if 语句

一个 'if' 语句由一个布尔表达式和一个或多个语句组成。

2. if...else 语句

一个 'if' 语句后面可以跟一个可选的 'else' 语句,当布尔表达式为假时执行。

3. else…if 和嵌套 if 语句

你可以在另一个 'if' 或 'else if' 语句内使用一个 'if' 或 'else if' 语句。

4. switch 语句

一个 'switch' 语句允许将一个变量与一个值的列表进行比较。

示例

让我们通过一些 TypeScript 示例来详细了解决策语句。

示例:if 语句

在下面的示例中,if 语句检查条件 "age >= 18"。条件(布尔表达式)为真,因此执行花括号 ({}) 中的语句。

let age: number = 19;
if (age >= 18) {
    console.log("You care eligible for voting.");
}

编译后将生成以下 JavaScript 代码。

let age = 19;
if (age >= 18) {
    console.log("You care eligible for voting.");
}

上述示例代码的输出如下:

You are eligible for voting.

那么如果条件(布尔表达式)age >= 18 评估为假呢?

如果条件为假,则执行 else 语句。

让我们检查以下示例:

示例:if…else 语句

在这个示例中,条件 (age >= 18) 评估为假,因此执行 else 语句后的语句。

let age: number = 17;
if (age >= 18) {
    console.log("You care eligible for voting.");
}
else {
    console.log("You are not eligible for voting.")
}

编译后将生成以下 JavaScript 代码。

let age = 17;
if (age >= 18) {
    console.log("You care eligible for voting.");
}
else {
    console.log("You are not eligible for voting.")
}

上述示例代码的输出如下:

You are not eligible for voting.

示例:嵌套 if 语句

在下面的示例中,else...if 梯用于检查多个条件。条件 grade >= 80 评估为真,因此它将在控制台中打印 "You got a B grade"。

var grade: number = 85;
if (grade >= 90) {
  console.log("You got an A grade");
} else if (grade >= 80) {
  console.log("You got a B grade ");
} else if (grade >= 70) {
  console.log("You got a C grade ");
} else if (grade >= 60) {
  console.log("You got a D grade ");
} else {
  console.log("You got an F grade ");
}

编译后将生成以下 JavaScript 代码。

var grade = 85;
if (grade >= 90) {
  console.log("You got an A grade");
} else if (grade >= 80) {
  console.log("You got a B grade ");
} else if (grade >= 70) {
  console.log("You got a C grade ");
} else if (grade >= 60) {
  console.log("You got a D grade ");
} else {
  console.log("You got an F grade ");
}

上述示例代码的输出如下:

You got a B grade

示例:switch 语句

在下面的示例中,我们使用 grade 变量作为 switch case 语句的表达式。它根据 case 常量 (A、B 和 C) 验证 grade 的值并执行相应的代码块。如果 grade 的值与任何 case 值都不匹配,则执行 default case。

var grade: string = 'B';
switch (grade) {
    case 'A': {
        console.log("Excellent");
        break;
    }
    case 'B': {
        console.log("Good");
        break;
    }
    case 'C': {
        console.log("Fair");
        break;
    }
    default: console.log("Unknown grade");
}

编译后将生成以下 JavaScript 代码。

var grade = 'B';
switch (grade) {
    case 'A': {
        console.log("Excellent");
        break;
    }
    case 'B': {
        console.log("Good");
        break;
    }
    case 'C': {
        console.log("Fair");
        break;
    }
    default: console.log("Unknown grade");
}

上述示例代码的输出如下:

Good
广告