使用TypeScript的好处
几年前我发现 TypeScript 试图了解 Angular 在主要版本之间的变化。 如你所知,这个框架的第一版和第二版之间的变化是巨大的,所以我想试一试。 一切都是用 TypeScript 编写的,但和你一样,我不知道为什么。 让我们看看使用这个 JavaScript 超集有哪些好处🚀。
打字
众所周知,JavaScript 没有类型,因此很难控制我们正在使用的所有参数和变量并对其进行验证。 在您的代码中很容易出错,例如忘记声明变量、调用不存在的函数或将变量作为参数传递会破坏我们所有的代码。
所以我们可以说 TypeScript 就像 JavaScript,但是有类型 。 它有助于使我们的代码更易于阅读并避免可能成为调试噩梦的错误。
让我们看一个代码如何从 JavaScript 更改为 TypeScript 的示例:
鳄鱼-service.js
class AlligatorsService { public alligators = []; public addAlligator(alligator) { if (this.isValid(alligator)) { alligators.push(alligator); } }
鳄鱼-service.ts
class AlligatorsService { public alligators: Alligator[] = []; public addAlligator(alligator: Alligator): void { if (this.isValid(alligator)) { alligators.push(alligator); } } private isValid(alligator: Alligator): boolean { return alligator.name; } }
这里,Alligator
是一个可以在任何地方定义并导入到我们文件中的接口。 该接口定义了 Alligator 类型对象的形状。
从突出显示的代码中可以看出,我们添加了参数和返回类型的 描述 。 它为您提供更多上下文,并且当 TypeScript 编译器转换您的代码时,如果在错误的位置使用错误的类型,它会通知您错误。
支持最新的 JavaScript 功能
TypeScript 的另一个很酷的地方是我们可以在我们的代码中使用 最后的 JavaScript 功能 。 如果我们使用最后的特性,并不是所有的现代浏览器都能理解我们的代码,通常,我们需要使用额外的工具,比如 Babel 来实现。 但是,如果我们使用 TypeScript,编译器将完成所有艰苦的工作。
由于 TypeScript 是一个包,我们可以通过 npm 将其安装在我们的项目中,如果我们保持版本更新,我们将自动拥有所有可用的新内容。
由于编译器会将您的代码转换为 JavaScript,因此您可以在客户端和服务器端使用 TypeScript。 🔥
IDE 支持
大多数现代 IDE 将在编码时为您提供帮助。 由于 TypeScript 是一种类型化语言,IDE 将为您提供一些代码提示。
就我而言,我使用 Atom,它有 一个很棒的用于 TypeScript 的包 ,可以为您节省大量时间。
浏览器兼容性
浏览器兼容性是我最喜欢的功能。 忘记 IE 的问题以及与您的代码的兼容性,编译器会做一些魔术来转换您的代码并使其与所有现代浏览器兼容。 换句话说,默认情况下,TypeScript 编译器输出的代码是 ES5 兼容的,并且所有现代浏览器都理解 JavaScript 的 ES5 风格。
下一步
如果您还没有尝试过 TypeScript,我强烈建议您尝试一下。 作为一名 JavaScript 开发人员,它将为您提供一些使您的工作更轻松的功能。 不那么可怕的调试和不那么愚蠢的错误最终会为您节省一些宝贵的时间。
查看我们关于 设置新的 TypeScript 项目 的帖子,了解有关开始新的 TypeScript 项目的一些指导。
如果您已经是一名 TypeScript 开发人员,我希望这篇文章可能已经阐明了为什么您应该在下一个项目中继续使用它。