
上QQ阅读APP看书,第一时间看更新
1.3.3 类型推断
在一些情况中,不需要我们显式指定,编译器就可以推断出某个变量或者函数的类型。例如,如果将值42赋值给一个变量,则TypeScript可以推断出其类型为number,所以我们不需要指定类型。如果我们想明确表达意图,使阅读代码的人清晰地知道是什么类型,则可以自己指定类型,但是这并不是严格要求的。
类似地,如果函数在每个return语句中都返回相同类型的值,则我们不需要在函数定义中显式地指定返回类型。编译器能够从代码中推断出返回类型,如程序清单1.17所示。
程序清单1.17 类型推断

这与动态类型不同。动态类型在运行时检查类型,但在这里,仍然在编译时判断并检查类型,只不过我们没有显式提供类型而已。如果类型是模糊的,那么编译器将给出一个错误,要求我们通过提供类型关键字来使类型变得明确。