为什么要在项目中使用TypeScript?

译者 | 李睿
随着越来越多的开发人员采用TypeScript,人们需要了解在下一个项目中应该使用TypeScript的原因 。尽管它在早期应用中遇到了一些阻力,但在过去十年,它迅速成为一种广泛使用的编程语言 。

为什么要在项目中使用TypeScript?

文章插图
以下介绍如何使用TypeScript以及它给开发人员带来的一些好处 。但首先需要深入了解TypeScript是什么以及它可以解决的问题 。
什么是TypeScript?TypeScript是微软公司在2012年开发的一种开源编程语言,是JAVAScript的一个超集 。这意味着它包含所有的JavaScript,但有更多的功能 。
它以JavaScript的功能和结构为基础,具有其他功能,例如类型或面向对象编程,并且可以编译为普通JavaScript 。因此,任何代码在JavaScript中都是有价值的 。
现在,这一切对开发的项目意味着什么?
TypeScript能解决什么问题?TypeScript的主要目的是在开发复杂应用程序时提高生产力 。实现这种情况的一种方法是使集成开发环境(IDE)具有更丰富的环境,以便在键入代码时发现常见错误(bug) 。
这为开发人员开发的项目增加了安全性 。无论开发人员何时进行更改,都不再需要检查bug 。
由于TypeScript在技术上涉及到在JavaScript中添加静态类型,它可以帮助开发人员避免像这样经典的错误:
为什么要在项目中使用TypeScript?

文章插图
当它为开发人员捕获错误时 , 这使得代码重构更容易,而不会严重破坏它 。它具有接口、抽象类、类型别名、元组、函数重载和泛型等功能 。
在大型JavaScript项目中采用这种编程语言可以提供更健壮的软件,并且仍然可以在JavaScript应用程序运行的任何地方部署 。
为什么TypeScript比JavaScript更好?TypeScript的座右铭是“可扩展的JavaScript” 。这是因为它为JavaScript带来了未来的发展 。
但它真的像人们说的那么好吗?以下是TypeScript优于JavaScript的几个方面:
(1)可选静态类型
【为什么要在项目中使用TypeScript?】JavaScript是一种动态类型语言 。尽管这有它的好处,但是动态类型的自由通常会导致bug 。这不仅降低了开发人员的效率,而且由于增加新代码行的成本而降低了开发速度 。
但是TypeScript的静态类型不同于JavaScript的动态类型 。
例如,当不确定JavaScript中的类型时,通常会在运行时依赖TypeError来提示变量类型错误的原因 。
另一方面,TypeScript为JavaScript添加了语法 。它的编译器使用这种语法在可能的代码错误发生之前识别出来,然后生成浏览器可以理解的JavaScript 。
一项研究表明,TypeScript可以成功检测出15%的JavaScript漏洞 。
(2)IDE支持
在早期,TypeScript只在微软的Visual Studio代码编辑器中得到支持 。然而,随着它越来越受欢迎,越来越多的代码编辑器和IDE开始原生地或通过插件来支持编程语言 。
开发人员几乎可以在所有的代码编辑器上编写TypeScript代码 。这种广泛的IDE支持使它更受软件开发人员的欢迎 。
其他支持它的IDE支持包括Eclipse、Atom、WebStorm和CATS 。
(3)面向对象
它支持面向对象的编程概念,例如类、封装、继承、抽象和接口 。面向对象编程(OOP)范例使创建组织良好、可扩展的代码变得更加容易,并且随着项目的规模和复杂性的发展,这种好处变得更加明显 。
(4)可读性
由于添加了严格类型和元素 , 使代码更具表现力 , 因此将能够看到编写代码的开发人员的设计意图 。这对于远程团队来说非常有效,因为自解释代码可以弥补团队之间缺乏直接沟通的不足 。
(5)社区支持
TypeScript很幸运,有一群才华横溢的开发人员不懈地努力改进开源语言 。这就解释了它在过去几年中在开发人员和软件开发团队中获得青睐的原因 。
大多数JavaScript应用程序包含数十万个文件 。对单个文件的一个更改可能会影响其他文件的行为 。验证项目中每个元素之间的关系可能会很快变得非常耗时 。作为一种类型检查语言 , 它会在开发过程中自动完成这些工作 , 并提供即时反馈 。
虽然在处理小项目时可能看不到这有多严重,但具有大型代码库的复杂项目可能会因为到处都是bug而变得混乱 。
每个开发人员都希望更高效、更快速,这有助于提高项目的可扩展性 。此外,TypeScript的语言特性和引用验证使其优于JavaScript 。
最终,TypeScript改善了开发人员的体验和代码的可维护性,因为开发人员对自己的代码更有信心 。这也将节省大量的时间 , 否则他们将花费大量的时间来验证他们是否不小心破坏了项目 。这种编程语言还提供了团队之间和团队内部更好的协作 。


推荐阅读