TypeScript 条件语句

TypeScript条件语句完全指南

TypeScript 条件语句完全指南

面向编程小白的大白话解释,涵盖所有核心知识点和实用技巧

1. 基础 if 语句

最简单的条件判断,满足条件就执行代码

大白话解释: 就像生活中说”如果今天下雨,我就带伞”一样。if语句就是检查某个条件是否成立,成立就执行后面的代码块。

基本语法

if (条件) { // 条件为真时执行的代码 }

示例:

let isRaining: boolean = true; if (isRaining) { console.log("记得带伞!"); }

输出:记得带伞!

💡 小贴士: 条件表达式的结果必须是布尔值(true或false)。TypeScript会帮你检查类型是否正确。

2. if…else 语句

二选一的条件判断,满足条件执行A,不满足执行B

大白话解释: 就像”如果今天下雨,我带伞;否则,我就戴太阳镜”。if…else提供了两种情况的处理方案。

基本语法

if (条件) { // 条件为真时执行的代码 } else { // 条件为假时执行的代码 }

示例:

let age: number = 17; if (age >= 18) { console.log("可以观看此电影"); } else { console.log("年龄未满18岁,禁止观看"); }

输出:年龄未满18岁,禁止观看

💡 小贴士: else后面不需要写条件,它处理所有if条件不满足的情况。

3. else if 语句

处理多个条件的判断,类似于多个选项的选择题

大白话解释: 就像考试评分:如果分数≥90是A,80-89是B,70-79是C,否则不及格。可以处理多个条件分支。

基本语法

if (条件1) { // 条件1为真时执行 } else if (条件2) { // 条件2为真时执行 } else if (条件3) { // 条件3为真时执行 } else { // 以上都不满足时执行 }

示例:

let score: number = 85; if (score >= 90) { console.log("优秀!评级A"); } else if (score >= 80) { console.log("良好!评级B"); } else if (score >= 70) { console.log("中等!评级C"); } else if (score >= 60) { console.log("及格!评级D"); } else { console.log("不及格!需要努力了"); }

输出:良好!评级B

⚠️ 注意: else if语句会按顺序检查条件,一旦某个条件满足,就会执行对应的代码块并跳过其余检查。

4. 三元运算符

简洁的条件表达式,相当于if…else的简写形式

大白话解释: 就像选择题的答案:”正确答案是A还是B?” 三元运算符让你可以在一行代码中完成简单的条件判断。

基本语法

条件 ? 表达式1 : 表达式2

示例:

let isMember: boolean = true; let discount = isMember ? 0.2 : 0.1; // 会员8折,非会员9折 console.log(`折扣率:${discount * 100}%`);

输出:折扣率:20%

💡 小贴士: 三元运算符非常适合简单的条件赋值,但复杂的逻辑还是用if语句更清晰。

5. switch 语句

多分支选择语句,适合基于单一变量的多种情况判断

大白话解释: 就像选择题有A、B、C、D四个选项,每个选项对应不同的处理方式。switch语句适合这种”一个变量,多种取值”的情况。

基本语法

switch (表达式) { case 值1: // 代码块1 break; case 值2: // 代码块2 break; default: // 默认代码块 }

示例:

let day: number = 3; let dayName: string; switch (day) { case 1: dayName = "星期一"; break; case 2: dayName = "星期二"; break; case 3: dayName = "星期三"; break; case 4: dayName = "星期四"; break; case 5: dayName = "星期五"; break; default: dayName = "周末"; } console.log(`今天是${dayName}`);

输出:今天是星期三

⚠️ 重要: 每个case后面要加break语句,否则会继续执行下一个case!default是可选的,处理未匹配的情况。

6. 逻辑运算符组合条件

使用AND(&&)、OR(||)、NOT(!)组合多个条件

大白话解释: 就像同时满足多个条件(并且),或者满足一个条件即可(或者),或者取反条件(不是)。

运算符说明

  • &&(与):两个条件都为真时结果才为真
  • ||(或):至少一个条件为真时结果就为真
  • !(非):对条件结果取反

示例:

let age: number = 20; let hasTicket: boolean = true; // 年龄≥18并且有票 if (age >= 18 && hasTicket) { console.log("可以进入电影院"); } // 年龄<6或者≥65 if (age < 6 || age >= 65) { console.log("可以享受优惠票价"); } // 不是周末 let isWeekend: boolean = false; if (!isWeekend) { console.log("工作日人少,观影体验更佳"); }

💡 小贴士: 组合条件时可以使用括号来明确优先级,例如:(条件1 || 条件2) && 条件3

条件语句使用场景对比

语句类型 适用场景 优点 注意事项
if 语句 单一条件判断 简单直接,易于理解 只能处理一种情况
if…else 二选一的情况 处理两种互斥情况 不适用于多条件
else if 多个互斥条件判断 可以处理多种情况 条件顺序很重要
三元运算符 简单的二选一赋值 简洁,一行代码完成 复杂逻辑可读性差
switch 基于单一变量的多种值判断 结构清晰,易于扩展 必须加break,只能判断相等

💡 选择建议: 当条件数量少时用if/else,条件多且基于同一变量时用switch,简单赋值用三元运算符。

7. 最佳实践与常见错误

最佳实践:

  • 保持条件简单:复杂的条件可以拆分成多个变量或函数
  • 使用括号明确优先级:如 (a || b) && c
  • switch语句中总是包含default分支
  • 避免深层嵌套:嵌套超过3层应考虑重构
  • 使用枚举配合switch语句提高可读性

常见错误:

  • 在switch中忘记写break导致”贯穿”执行
  • 误用赋值运算符(=)而不是比较运算符(==或===)
  • 在条件中比较不同类型的值(TypeScript会警告)
  • 过度使用三元运算符导致代码难以阅读
  • 在条件中写函数调用产生副作用

错误示例:

// 错误:使用赋值运算符而不是比较 let num = 5; if (num = 10) { // 这里应该是 num === 10 console.log("数字是10"); } // 错误:switch中忘记写break switch (num) { case 5: console.log("是5"); case 10: console.log("是10"); // 当num=5时,会输出"是5"和"是10" break; }

© 2023 TypeScript条件语句指南 | 面向编程小白的详细教程

记住:编程就像学语言,多写多练是掌握的关键!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部