在编程中,条件语句是一种基本的控制结构,用于根据特定的条件执行不同的代码分支。条件语句允许我们根据条件的真假决定程序的执行路径,从而实现根据不同情况做出不同的响应。TypeScript 是一种静态类型的编程语言,它提供了多种条件语句来帮助我们处理复杂的程序逻辑。本文将详细介绍 TypeScript 中常用的条件语句,包括if
语句、if-else
语句、switch
语句和三元运算符
等。
if 语句
if
语句是最简单和最常用的条件语句之一。它用于根据给定条件的真假决定是否执行特定的代码块。
if (condition) {
// 当条件为真时执行的代码块
}
condition
是一个布尔表达式,如果它的值为true
,则会执行if
语句中的代码块。如果condition
的值为false
,则代码块将被跳过。
let num: number = 10;
if (num > 0) {
console.log("num 是正数");
}
上述代码中,当num
大于0
时,if
语句中的代码块将会被执行,输出结果为num 是正数
。
if-else 语句
if-else
语句在if
语句的基础上增加了一个else
代码块,用于在条件为false
时执行另一段代码。
if (condition) {
// 当条件为真时执行的代码块
} else {
// 当条件为假时执行的代码块
}
如果condition
的值为true
,则执行第一个代码块;如果condition
的值为false
,则执行第二个代码块。
let num: number = -5;
if (num > 0) {
console.log("num 是正数");
} else {
console.log("num 是负数");
}
上述代码中,当num
小于或等于0
时,if
语句中的代码块将不会被执行,而是执行else
代码块,输出结果为num 是负数
。
多重 if-else 语句
我们可以使用多个if-else
语句来编写更复杂的程序逻辑。每个if-else
语句都会根据特定的条件执行相应的代码块。
if (condition1) {
// 当条件1为真时执行的代码块
} else if (condition2) {
// 当条件2为真时执行的代码块
} else {
// 当所有条件都为假时执行的代码块
}
依次检查每个条件,如果某个条件为true
,则执行相应的代码块,并跳过其他条件的判断。
let score: number = 85;
if (score >= 90) {
console.log("优秀");
} else if (score >= 80) {
console.log("良好");
} else if (score >= 70) {
console.log("中等");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
上述代码中,根据不同的分数段输出相应的评级。
switch 语句
switch
语句允许我们根据一个表达式的值,在多个选项中选择一个执行。它可以替代多个嵌套的if-else
语句,使代码更清晰、易读。
switch (expression) {
case value1:
// 当 expression 的值等于 value1 时执行的代码块
break;
case value2:
// 当 expression 的值等于 value2 时执行的代码块
break;
default:
// 当 expression 的值与上述任何值都不相等时执行的代码块
break;
}
根据expression
的值,执行与之匹配的代码块。如果没有匹配的值,则执行default
代码块。
let day: number = 3;
let dayName: string;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
case 5:
dayName = "工作日";
break;
case 6:
case 7:
dayName = "周末";
break;
default:
dayName = "无效的日期";
break;
}
console.log(dayName);
上述代码中,根据不同的day
值输出对应的日期名。
三元运算符
三元运算符是一种简洁的条件语句,它由三个部分组成:一个条件表达式,一个真值返回结果和一个假值返回结果。
condition ? trueValue : falseValue
如果condition
的值为true
,则返回trueValue
;如果condition
的值为false
,则返回falseValue
。
let isSunny: boolean = true;
let weather: string = isSunny ? "晴天" : "阴天";
console.log(weather); // 晴天
上述代码中,如果isSunny
为true
,则将weather
赋值为"晴天"
;如果isSunny
为false
,则将weather
赋值为"阴天"
。