打字稿返回类型:void

Ton*_*alo 14 typescript angular

在Typescript(在Angular项目中使用)中没有返回任何内容的方法(void),下面哪个是最佳实践?

onSelect(someNumber: number): void {

}
Run Code Online (Sandbox Code Playgroud)

要么

onSelect(someNumber: number) {

}
Run Code Online (Sandbox Code Playgroud)

我在不同的例子中都看到了这两种方式,并且不确定将返回类型添加为void还是留空是否更好?

Rya*_*ugh 15

无论是否明确注释方法的返回类型,这都是个人偏好,尤其是对于像这样的普通类型void.

您可能添加的原因: void:

  • 提高清晰度 - 其他开发人员不必读取方法体以查看它是否返回任何内容
  • 更安全 - 如果您将代码从另一个函数移动到其中包含return expr;语句的代码中,TypeScript将标记此错误

你可能没有的理由:

  • 简洁 - 如果从上下文中清楚地知道返回类型应该是什么(例如getLength()几乎肯定会返回number),那么返回类型注释会略微嘈杂
  • 灵活性 - 如果您正在对此代码进行原型设计并且不确定您希望返回类型是什么,那么通过推断它可以让您更轻松地更改它

  • 无论您是否注释_任何内容_,这不是“完全个人喜好”吗?最佳实践不是_more_注释吗?[这个 eslint 规则](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md) 当然是这么认为的。 (4认同)

小智 5

请记住规则:“void 是不显式返回任何内容的函数/方法的返回类型”

\n

无论您是否在函数/方法中使用“void”作为返回类型,如果没有显式返回类型,它都会自动推断为“void”返回类型

\n