angular typescript - 何时指定参数类型

时间:2017-11-10 13:36:01

标签: angular typescript

当浏览角度2教程时,我可以看到在某些地方指定了类属性的类型,例如name: string;,并且在某些地方它被省略。函数返回类型也是如此。这使我不清楚这方面的最佳做法是什么。如果你选择省略类型,难道你不会失去打字稿的最大好处之一吗?

3 个答案:

答案 0 :(得分:2)

TypeScript可以从分配中推断出参数的类型,但有时如果它无法推断类型,则使用any

使用TypeScript编译器标志noImplicitAny可以改变此行为。当noImplicitAny标志为true且TypeScript编译器无法推断类型时,它仍会生成JavaScript文件,但它也会报告错误。

但如果需要,您仍然可以在类型上明确设置any

类型检查确实有其优势,我总是建议使用它。 TypeScript的好处是,与其他语言不同,您可以非常简洁地使用类型。我们可以写

doWork(work:{details:string})

允许严格的类型检查而不需要完全提出新的类型声明,尽管这不能共享。

答案 1 :(得分:0)

我认为您的问题最终可能会被标记为过于宽泛或基于意见,但我强烈建议尽可能使用类型。这是打字稿的好处之一。在编译类型的早期捕获错误,而不是花费数小时调试,只是为了找出像拼写错误的东西。

为什么他们的文档中缺少类型可能会使来自AngularJs的非打字人员更加简单,不那么可怕,这是一个可能的解释。

有关打字稿的好处的更多信息,请查看此帖:https://stackoverflow.com/a/12694578/222328

最后,我建议您查看角度风格指南:https://angular.io/guide/styleguide

答案 2 :(得分:0)

我认为,指定参数的类型或函数返回的类型更具可读性。

而且,对于像Intellij这样的IDE来说,它也很棒!因为,它解析代码并在自动完成期间显示类型