像我这样的反TypeScript“ JavaScript开发人员”如何成为TypeScript迷

2021-03-02 21:40:26

在这篇博客文章中,我正在谈论我从一名Anti-TypeScript开发人员到如今又不想回到纯粹的JavaScript世界的开发人员的旅程🚀也许我的想法可以帮助与我同舟共济的人几年前。

我一直觉得向函数/变量中添加类型并满足TypeScript编译器是一种过度设计,并且没有提供任何有意义的好处。同时,它的工作速度也很慢,因为我经常会遇到一些最初难以理解的编译错误,因此我挠头试图找出问题所在。这引起了一些挫败感,我开始讨厌TypeScript

另一个原因是,诸如Generics之类的Advanced TypeScript概念一开始很难理解,我开始感到自己处在Java世界中,每一段代码都经过严格的键入和压倒性工作。当我开始学习TypeScript时,即使是如下所示的简单代码也让我感到恐惧

因此,由于上述原因,即使我通过观看教程或阅读书籍来学习TypeScript,我也从未从事过任何使用TypeScript编写的企业应用程序。实际上,我过去常常选择JavaScript而不是TypeScript(如果可以选择)来进行家庭作业,这是公司面试过程的一部分🙈

但是,当我转任现任职务时,使用JavaScript并不是一种选择,因为我要处理的所有应用程序都是用TypeScript编写的(JavaScript中只有旧版代码)。不出所料,最初对我来说是不堪重负,而我对TypeScript的憎恨却在增加,但是最终在几个月之后,我了解了为什么有人比Java更喜欢TypeScript的好处和一些激励性的原因,我在下面列出了这一点。部分

这就是我喜欢TypeScript的主要原因。如果您想进一步了解这个概念,建议您观看下面的视频。它讨论了Elm语言,但该概念也适用于TypeScript世界

如果您想查看一些有关如何在React应用程序中利用TypeScript以避免出现不可能的状态的示例,我建议您阅读以下博客文章

在使用JavaScript时,我遇到了多个实例,这些实例由于某些极端情况而在生产中发现了错误,这是由于前端没有进行类型检查而发生的。这些错误可以避免,并且可以在TypeScript编译器的编译时捕获,从而节省了DEV🔁QA周期的时间

使用TypeScript,一切都保持最初定义的方式。如果将变量声明为布尔值,则它将始终是布尔值,并且不会变成数字。这增加了代码按照最初预期的方式工作的可能性。简而言之,代码是可预测的!

有关类型的信息使集成开发环境(IDE)更加有用。您将获得代码导航和自动完成等功能,并提供准确的建议。您还可以在键入时获得反馈:编辑器会标记错误,包括与类型相关的错误。所有这些都可以帮助您编写可维护的代码,并大大提高工作效率🚀

如果我们谈论重构,例如引入新状态或摆脱应用程序中正在使用的不必要状态,那么TypeScript编译器会抱怨如果您忘记更新某些引用,并且您可以对重构充满信心,那就是应用程序将与重构前的工作方式相同。

总而言之,使用TypeScript有许多其他好处(如果您还没有这样做的话),但这是我的主要动力,这使我成为TypeScript爱好者。

如果您是TypeScript的初学者或想提高您的知识,那么我可以推荐一些书