@@ -601,15 +601,15 @@ const f3 = function ():void {
601
601
602
602
上面示例中,函数字面量声明了返回` void ` 类型,这时只要有返回值(除了` undefined ` 和` null ` )就会报错。
603
603
604
- 函数的运行结果如果是抛错 ,也允许将返回值写成` void ` 。
604
+ 函数的运行结果如果是抛出错误 ,也允许将返回值写成` void ` 。
605
605
606
606
``` typescript
607
607
function throwErr(): void {
608
608
throw new Error (' something wrong' );
609
609
}
610
610
```
611
611
612
- 上面示例中,函数` throwErr() ` 会抛错 ,返回值类型写成` void ` 是允许的。
612
+ 上面示例中,函数` throwErr() ` 会抛出错误 ,返回值类型写成` void ` 是允许的。
613
613
614
614
除了函数,其他变量声明为` void ` 类型没有多大意义,因为这时只能赋值为` undefined ` 或者` null ` (假定没有打开` strictNullChecks ` ) 。
615
615
@@ -634,7 +634,7 @@ function fail(msg:string):never {
634
634
}
635
635
```
636
636
637
- 上面示例中,函数` fail() ` 会抛错 ,不会正常退出,所以返回值类型是` never ` 。
637
+ 上面示例中,函数` fail() ` 会抛出错误 ,不会正常退出,所以返回值类型是` never ` 。
638
638
639
639
注意,只有抛出错误,才是 never 类型。如果显式用` return ` 语句返回一个 Error 对象,返回值就不是 never 类型。
640
640
@@ -646,7 +646,7 @@ function fail():Error {
646
646
647
647
上面示例中,函数` fail() ` 返回一个 Error 对象,所以返回值类型是 Error。
648
648
649
- 另外,由于抛错的情况属于 ` never ` 类型或` void ` 类型,所以无法从返回值类型中获知,抛出的是哪一种错误。
649
+ 另外,由于抛出错误的情况属于 ` never ` 类型或` void ` 类型,所以无法从返回值类型中获知,抛出的是哪一种错误。
650
650
651
651
(2)无限执行的函数。
652
652
@@ -696,7 +696,7 @@ function f(
696
696
697
697
上面示例中,函数` f() ` 的参数` x ` 的类型为` string|undefined ` 。但是,` x ` 类型为` undefined ` 时,调用了` neverReturns() ` 。这个函数不会返回,因此 TypeScript 可以推断出,判断语句后面的那个` x ` ,类型一定是` string ` 。
698
698
699
- 一个函数如果某些条件下有正常返回值,另一些条件下抛错 ,这时它的返回值类型可以省略` never ` 。
699
+ 一个函数如果某些条件下有正常返回值,另一些条件下抛出错误 ,这时它的返回值类型可以省略` never ` 。
700
700
701
701
``` typescript
702
702
function sometimesThrow(): number {
0 commit comments