TypeScript(五) 条件语句

1. 条件语句

1.1. 描述

  条件语句用于基于不同的条件来执行不同的动作。

  条件语句是通过一条或多条语句的执行结果(true或false)来决定后面执行的代码块。

1.2. 常使用的条件语句

(1)if语句 - 只有当指定条件为true时,使用该语句来执行代码

(2)if...else语句 - 当条件为true时执行if中代码,当条件为false时执行else中代码。

(3)if...else if...else语句 - 使用该语句是选择多个代码块之一来执行。

(4)switch语句 - 等同if...else if...else

1.2.1. if语句

  if语句由一个布尔表达式后跟一个或多个语句组成。
**  语法:**

javascript 复制代码
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
}

  // 在布尔表达式boolean_value为false时,直接到这里执行

**  实例**:

javascript 复制代码
var  num:number = 5
if (num > 0) { 
   console.log("数字是正数") 
}

执行结果:数字是正数

1.2.2. if...else语句

  一个if语句后跟一个可选的else语句,else语句在布尔表达式为false时执行。
**  语法:**

javascript 复制代码
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
} else {
// 在布尔表达式boolean_value为false时,执行
}

**  实例**:

javascript 复制代码
var num = 12;
if (num % 2 == 0) {
    console.log("偶数");
}
else {
    console.log("奇数");
}

执行结果:偶数

1.2.3. if...else if...else语句

  if...else if...else语句在执行多个判断条件的时候使用。
**  语法:**

javascript 复制代码
if(boolean_value1){
// 在布尔表达式boolean_value1为true时,执行
} else if(boolean_value2) {
// 在布尔表达式boolean_value1为true时,执行
} else {
// 布尔表达式都为false时,执行
}

**  需要注意以下几点:**

(1)一个if判断语句可以有0或者1个else语句,它必须在else...if语句后面。

(2)一个if判断语句可以有0或者多个else...if语句,这些语句必须在else之前。

(3)一旦执行了else...if内的代码,后面的else...if或else将都不会再执行。
**  实例**:

javascript 复制代码
    var num: number = 5
    if (num > 0) {
      console.log(num + " 是正数");
    } else if (num < 0) {
      console.log(num + " 是负数");
    } else {
      console.log(num + " 不是正数也不是负数");
    }

执行结果:5是正数

1.2.4. switch...case语句

  一个switch语句允许测试一个变量等于多个值的情况。每个值称为一个case,并且被测试的变量会对每个switch case进行检查。
**  语法:**

javascript 复制代码
switch(variable){
    case value1 :
       statement(s);
       break; /* 可选的 */
    case value2 :
       statement(s);
       break; /* 可选的 */
     /* 
      *您可以有任意数量的 case 语句
      */
    default : /* 可选的 */
       statement(s);
}

  switch语句必须遵循的规则:

(1)switch语句中variable是一个要被比较的表达式,可以是任何类型,包括基本数据类型(如:string、number、boolean等)、对象类型(如:object、Array、Map等)以及自定义类型(如:class、interface、enum等)等。

(2)在一个switch中可以有任意数量的case语句。每个case后跟一个比较的值和冒号。

case的value必须与switch中变量相同的数据类型。

(3)当被测试的变量等于case中的常量值时,case后跟的语句将被执行,直到遇到break语句为止。

(4)当遇到break语句时,switch终止,控制流将跳转到switch语句下一行。

(5)不是每一个case都需要包括break。如果case语句不包含break,控制流将继续后续case,直到遇到break为止。

(6)一个switch语句可以有一个可选的default case,出现在switch末尾。default关键字则表示表达式的值与所有case值都不匹配时执行的代码块。default case语句中break语句不是必须的。

javascript 复制代码
switch(variable){
    case value1 :
       statement(s);
       break; /* 可选的 */
    case value2 :
       statement(s);
       break; /* 可选的 */
     /* 
      *您可以有任意数量的 case 语句
      */
    default : /* 可选的 */
       statement(s);
}

**  实例**:

javascript 复制代码
 var grade:string = "A";
    switch (grade) {
        case "A": {
            console.log("优");
            break;
        }
        case "B": {
            console.log("良");
            break;
        }
        case "C": {
            console.log("及格");
            break;
        }
        case "D": {
            console.log("不及格");
            break;
        }
        default: {
            console.log("非法输入");
            break;
        }
    }

执行结果:优

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大5 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师5 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学5 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端