类型注释和类型推断之间有什么区别?

时间:2019-01-16 11:03:27

标签: typescript

我正在阅读TypeScript教程,遇到了以下术语:类型注释和类型推断。我对网络说明不满意,也没有明显的区别。需要基于简单差异的说明。

1 个答案:

答案 0 :(得分:3)

类型推断是编译器代您计算类型的地方:

const a = 'Some value';

变量a推断类型为string

类型批注是您明确声明类型的地方:

const a: string = 'Some value';

您已经明确指出,这应该是带有类型注释的字符串(通常为: type格式)。

实际的区别是可以推断类型的地方,您可以节省大量的键入操作而不会损失任何好处。在某些情况下,露骨是有益的:

  • 创建具有文字值的对象时-因为它会捕获错误键入的成员
  • 函数签名-因为参数类型难以推断,并且返回类型最终将作为return语句中找到的类型的并集,所以您可能没有意识到要在不同情况下返回不同的类型