当浏览角度2教程时,我可以看到在某些地方指定了类属性的类型,例如name: string;
,并且在某些地方它被省略。函数返回类型也是如此。这使我不清楚这方面的最佳做法是什么。如果你选择省略类型,难道你不会失去打字稿的最大好处之一吗?
答案 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来说,它也很棒!因为,它解析代码并在自动完成期间显示类型