Skip to content

Commit 663f3bf

Browse files
committedSep 2, 2023
docs: perfect description
1 parent 2b97ba6 commit 663f3bf

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed
 

‎docs/any.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ let v2:string = f(); // 不报错
240240
let v3:boolean = f(); // 不报错
241241
```
242242

243-
上面示例中,函数`f()`会抛错,所以返回值类型可以写成`never`,即不可能返回任何值。各种其他类型的变量都可以赋值为`f()`的运行结果(`never`类型)。
243+
上面示例中,函数`f()`会抛出错误,所以返回值类型可以写成`never`,即不可能返回任何值。各种其他类型的变量都可以赋值为`f()`的运行结果(`never`类型)。
244244

245245
为什么`never`类型可以赋值给任意其他类型呢?这也跟集合论有关,空集是任何集合的子集。TypeScript 就相应规定,任何类型都包含了`never`类型。因此,`never`类型是任何其他类型所共有的,TypeScript 把这种情况称为“底层类型”(bottom type)。
246246

‎docs/function.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -601,15 +601,15 @@ const f3 = function ():void {
601601

602602
上面示例中,函数字面量声明了返回`void`类型,这时只要有返回值(除了`undefined``null`)就会报错。
603603

604-
函数的运行结果如果是抛错,也允许将返回值写成`void`
604+
函数的运行结果如果是抛出错误,也允许将返回值写成`void`
605605

606606
```typescript
607607
function throwErr():void {
608608
throw new Error('something wrong');
609609
}
610610
```
611611

612-
上面示例中,函数`throwErr()`会抛错,返回值类型写成`void`是允许的。
612+
上面示例中,函数`throwErr()`会抛出错误,返回值类型写成`void`是允许的。
613613

614614
除了函数,其他变量声明为`void`类型没有多大意义,因为这时只能赋值为`undefined`或者`null`(假定没有打开`strictNullChecks`) 。
615615

@@ -634,7 +634,7 @@ function fail(msg:string):never {
634634
}
635635
```
636636

637-
上面示例中,函数`fail()`会抛错,不会正常退出,所以返回值类型是`never`
637+
上面示例中,函数`fail()`会抛出错误,不会正常退出,所以返回值类型是`never`
638638

639639
注意,只有抛出错误,才是 never 类型。如果显式用`return`语句返回一个 Error 对象,返回值就不是 never 类型。
640640

@@ -646,7 +646,7 @@ function fail():Error {
646646

647647
上面示例中,函数`fail()`返回一个 Error 对象,所以返回值类型是 Error。
648648

649-
另外,由于抛错的情况属于`never`类型或`void`类型,所以无法从返回值类型中获知,抛出的是哪一种错误。
649+
另外,由于抛出错误的情况属于`never`类型或`void`类型,所以无法从返回值类型中获知,抛出的是哪一种错误。
650650

651651
(2)无限执行的函数。
652652

@@ -696,7 +696,7 @@ function f(
696696

697697
上面示例中,函数`f()`的参数`x`的类型为`string|undefined`。但是,`x`类型为`undefined`时,调用了`neverReturns()`。这个函数不会返回,因此 TypeScript 可以推断出,判断语句后面的那个`x`,类型一定是`string`
698698

699-
一个函数如果某些条件下有正常返回值,另一些条件下抛错,这时它的返回值类型可以省略`never`
699+
一个函数如果某些条件下有正常返回值,另一些条件下抛出错误,这时它的返回值类型可以省略`never`
700700

701701
```typescript
702702
function sometimesThrow():number {

0 commit comments

Comments
 (0)
Please sign in to comment.