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语句由一个布尔表达式后跟一个或多个语句组成。
  语法:

if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
}

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

  实例

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

执行结果:数字是正数

1.2.2. if…else语句

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

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

  实例

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

执行结果:偶数

1.2.3. if…else if…else语句

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

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将都不会再执行。
  实例

    var num: number = 5if (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进行检查。
  语法:

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语句不是必须的。

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

  实例

 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;}}

执行结果:优

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL_list

一、有关list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。Ii…

Docker容器引擎(6)

目录 一.什么是consul 解决什么问题&#xff1f; consul的模式&#xff1a; 二.consul 部署 consul服务器&#xff1a; 查看版本&#xff1a; 设置代理&#xff0c;在后台启动 consul 服务端&#xff1a; 进行后台启动&#xff1a; 查看集群信息&#xff1a; 访问页面…

云计算底层技术奥秘、磁盘技术揭秘、虚拟化管理、公有云概述

云计算基础 实验图例 虚拟化平台安装 创建虚拟机 1、创建虚拟机 2cpu&#xff0c;4G内存&#xff08;默认用户名: root 密码: a&#xff09; 2、验证 ecs 是否支持虚拟化 [rootecs ~]# grep -Po "vmx|svm" /proc/cpuinfovmx... ...[rootecs ~]# lsmod |grep kvm…

Linux 网络分析 Wireshark

这篇记录一些 Wireshark 的使用操作&#xff0c;有兴趣的建议看看 《Wireshark网络分析就这么简单》 写的很好&#xff0c;有趣能看进去。 Wireshare 是一个常用的并且很强大网络包分析软件&#xff0c;可以抓包也可以导入tcpdump的导出数据分析。pcap 这个后缀的文件可以用 wi…

【算法专题】前缀和(附图解、代码)

&#x1f4d1;前言 本文主要是前缀和的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&#xff1a;努力一点&…

Orion-14B-Chat-Plugin本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

WebSocket 整合 记录用法

WebSocket 介绍 WebSocket 是基于tcp的一种新的网络协议,可以让浏览器 和 服务器进行通信,然后区别于http需要三次握手,websocket只用一次握手,就可以创建持久性的连接,并进行双向数据传输 Http和WebSocket的区别 Http是短连接,WebSocket’是长连接Http通信是单向的,基于请求…

互联网加竞赛 基于深度学习的人脸表情识别

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的人脸表情识别 该项目较…

HiveSQL题——排序函数(row_number/rank/dense_rank)

一、窗口函数的知识点 1.1 窗户函数的定义 窗口函数可以拆分为【窗口函数】。窗口函数官网指路&#xff1a; LanguageManual WindowingAndAnalytics - Apache Hive - Apache Software Foundationhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual%20Windowin…

【Algorithms 4】算法(第4版)学习笔记 01 - 1.5 案例研究:union-find算法

文章目录 前言参考目录学习笔记1&#xff1a;动态连通性2&#xff1a;UF 实现 1&#xff1a;快速查找 quick-find2.1&#xff1a;demo 演示 12.2&#xff1a;demo 演示 22.3&#xff1a;quick-find 代码实现3&#xff1a;UF 实现 2&#xff1a;快速合并 quick-union3.1&#xf…

【Java 数据结构】二叉树

二叉树 1. 树型结构&#xff08;了解&#xff09;1.1 概念1.2 概念&#xff08;重要&#xff09;1.3 树的表示形式&#xff08;了解&#xff09;1.4 树的应用 2. 二叉树&#xff08;重点&#xff09;2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的…

【人工智能课程】计算机科学博士作业二

使用TensorFlow1.x版本来实现手势识别任务中&#xff0c;并用图像增强的方式改进&#xff0c;基准训练准确率0.92&#xff0c;测试准确率0.77&#xff0c;改进后&#xff0c;训练准确率0.97&#xff0c;测试准确率0.88。 1 导入包 import math import warnings warnings.filt…

【力扣经典面试题】80. 删除有序数组中的重复项 II

题目 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明&…

SpringBoot---创建项目

介绍 此项目SpringBoot使用的是2.6.1版本&#xff0c;由于这个项目使用的是maven聚合方式创建的&#xff0c;所以第二步是我在聚合方式下需要添加的依赖&#xff0c;完整的pom.xml内容放到了最下面。 第一步&#xff1a;创建Maven项目 这个里什么也不勾选&#xff0c;直接点…

JDK Locale的妙用:探索多语言和地区设置的强大功能

文章目录 前言应用场景国际化&#xff08;Internationalization&#xff09;格式化&#xff08;Formatting&#xff09;日期格式化数字格式化金额格式化百分比形式格式化 获取Locale信息 前言 JDK&#xff08;Java Development Kit&#xff09;的Locale类用于表示特定的地理、…

openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错

文章目录 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错210.1 谓词下推引起的查询报错210.1.1 问题现象210.1.2 原因分析210.1.3 处理办法 openGauss学习笔记-210 openGauss 数据库运维-常见故障定位案例-谓词下推引起的查询报错 210.…

8-小程序数据promise化、共享、分包、自定义tabbar

小程序API Promise化 wx.requet 官网入口 默认情况下&#xff0c;小程序官方异步API都是基于回调函数实现的 wx.request({method: , url: , data: {},header: {content-type: application/json // 默认值},success (res) {console.log(res.data)},fail () {},complete () { }…

[M思维] lc2808. 使循环数组所有元素相等的最少秒数(思维+哈希表+代码实现)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;2808. 使循环数组所有元素相等的最少秒数 2. 题目解析 一道比较简单的思维题吧&#xff0c;将一维数组首尾连接变成环&#xff0c;会发现相同元素中间的距离 / 2&#xff0c;就是需要感染的秒数。包括首尾连接…

linux 脚本 正则表达式

正则表达式 分类 基础正则表达式:BRE 扩展正则表达式:ERE 编程语言支持的高级正则表达式 BRE 和 ERE的语法基本一致&#xff0c;只有部分元字符(预定义好的带有特殊含义的一些符号)需要特殊对待 grep sed 默认使用的基本正则表达式&#xff0c;grep -E,sed -r,egrep,awk使…

zookeeper源码(07)leader、follower和observer

Leader 构造方法 public Leader(QuorumPeer self, LeaderZooKeeperServer zk) throws IOException {this.self self;this.proposalStats new BufferStats();// 获取节点间通信地址Set<InetSocketAddress> addresses;if (self.getQuorumListenOnAllIPs()) {addresses …