语句
If
语句
if
语句用于需要根据逻辑条件执行不同语句的场景。当逻辑条件为真时,执行对应的一组语句,否则执行另一组语句(如果有的话)。 else
部分也可能包含if
语句。
if
语句如下所示:
if (condition1) {// 语句1
} else if (condition2) {// 语句2
} else {// else语句
}
typescript
条件表达式可以是任何类型。但是对于boolean
以外的类型,会进行隐式类型转换:
let s1 = 'Hello';
if (s1) {console.log(s1); // 打印“Hello”
}let s2 = 'World';
if (s2.length != 0) {console.log(s2); // 打印“World”
}
typescript
Switch
语句
使用switch
语句来执行与switch
表达式值匹配的代码块。
switch
语句如下所示:
switch (expression) {case label1: // 如果label1匹配,则执行// ...// 语句1// ...break; // 可省略case label2:case label3: // 如果label2或label3匹配,则执行// ...// 语句23// ...break; // 可省略default:// 默认语句
}
typescript
如果switch
表达式的值等于某个label的值,则执行相应的语句。
如果没有任何一个label值与表达式值相匹配,并且switch
具有default
子句,那么程序会执行default
子句对应的代码块。
break
语句(可选的)允许跳出switch
语句并继续执行switch
语句之后的语句。
如果没有break
语句,则执行switch
中的下一个label对应的代码块。
点击领取→【纯血版鸿蒙全套最新学习资料】
条件表达式
条件表达式由第一个表达式的布尔值来决定返回其它两个表达式中的哪一个。
示例如下:
condition ? expression1 : expression2
typescript
如果condition
的为真值(转换后为true
的值),则使用expression1
作为该表达式的结果;否则,使用expression2
。
示例:
let isValid = Math.random() > 0.5 ? true : false;
let message = isValid ? 'Valid' : 'Failed';
typescript
For
语句
for
语句会被重复执行,直到循环退出语句值为false
。
for
语句如下所示:
for ([init]; [condition]; [update]) {statements
}
typescript
for
语句的执行流程如下:
1、 执行init
表达式(如有)。此表达式通常初始化一个或多个循环计数器。
2、 计算condition
。如果它为真值(转换后为true
的值),则执行循环主体的语句。如果它为假值(转换后为false
的值),则for
循环终止。
3、 执行循环主体的语句。
4、 如果有update
表达式,则执行该表达式。
5、 回到步骤2。
示例:
let sum = 0;
for (let i = 0; i < 10; i += 2) {sum += i;
}
typescript
For-of
语句
使用for-of
语句可遍历数组或字符串。示例如下:
for (forVar of expression) {statements
}
typescript
示例:
for (let ch of 'a string object') {/* process ch */
}
typescript
While
语句
只要condition
为真值(转换后为true
的值),while
语句就会执行statements
语句。示例如下:
while (condition) {statements
}
typescript
示例:
let n = 0;
let x = 0;
while (n < 3) {n++;x += n;
}
typescript
Do-while
语句
如果condition
的值为真值(转换后为true
的值),那么statements
语句会重复执行。示例如下:
do {statements
} while (condition)
typescript
示例:
let i = 0;
do {i += 1;
} while (i < 10)
typescript
Break
语句
使用break
语句可以终止循环语句或switch
。
示例:
let x = 0;
while (true) {x++;if (x > 5) {break;}
}
typescript
如果break
语句后带有标识符,则将控制流转移到该标识符所包含的语句块之外。
示例:
let x = 1
label: while (true) {switch (x) {case 1:// statementsbreak label // 中断while语句}
}
typescript
Continue
语句
continue
语句会停止当前循环迭代的执行,并将控制传递给下一个迭代。
示例:
let sum = 0;
for (let x = 0; x < 100; x++) {if (x % 2 == 0) {continue}sum += x;
}
typescript
Throw
和Try
语句
throw
语句用于抛出异常或错误:
throw new Error('this error')
typescript
try
语句用于捕获和处理异常或错误:
try {// 可能发生异常的语句块
} catch (e) {// 异常处理
}
typescript
下面的示例中throw
和try
语句用于处理除数为0的错误:
class ZeroDivisor extends Error {}function divide (a: number, b: number): number{if (b == 0) throw new ZeroDivisor();return a / b;
}function process (a: number, b: number) {try {let res = divide(a, b);console.log('result: ' + res);} catch (x) {console.log('some error');}
}
typescript
支持finally
语句:
function processData(s: string) {let error: Error | null = null;try {console.log('Data processed: ' + s);// ...// 可能发生异常的语句// ...} catch (e) {error = e as Error;// ...// 异常处理// ...} finally {if (error != null) {console.log(`Error caught: input='${s}', message='${error.message}'`);}}
}
- 如果你觉得这篇内容对你还蛮有帮助
- 想要获取更多完整鸿蒙最新学习知识点