最近看了一篇《放弃 TypeScript 的 7 个非常好的理由》的文章,读的还蛮多的。有些观点确实很有趣,但在这里我将向您介绍使用TypeScript的10个理由。TypeScript降低了代码错误的风险。开发者写BUG是天经地义的。几乎一半的时间,我们都在寻找程序错误的原因。在JavaScript中,原因可能与类型错误一样简单。例如,为字符串变量赋值在JavaScript中运行良好,但在TypeScript中无法编译。JavaScript开发者长期以来一直被这个问题所困扰,甚至引入了严格模式(Strictmode)来减少这种错误。constgetLength=(someString:string)=>someString!=undefined?someString.length:0;lettestTS="what";testTS=3000;//Type'"what"'isnotassignabletotype'string'getLength(testTS);使用TypeScript,上面的代码不可编译,不会出现在最终代码库中。JavaScript不是这样。尽管TypeScript无法避免运行时类型错误,但它仍然可以有效降低这种风险。快速失败原则TypeScript在代码可以正常运行之前引入了一个新的强制性步骤:将代码转换为JavaScript。在编写新代码时,此步骤每天也会失败很多次。非静态类型的语言将失败和错误检测推迟到运行时。可空类型对于任何现代语言都非常重要,它有助于扩展代码。AdrianColyer在2017年写了一篇非常有趣的文章:QuantifyingDetectableErrorsinJavaScript。在文章的最后,你可以找到一个有趣的实验结果。Eric调查了JavaScript项目中的400个开放错误。通过使用TypeScript或Flow,可以有效捕获其中的59个,而不会出现在生产环境中。请注意,在本文中我们只考虑减少错误代码。让代码更丰富的信息/文档如今,在前端开发中,编写可重用的代码和可重用的组件就像玩游戏一样。重新发明轮子容易出错且成本高昂。所以最好使用现有的库或代码。TypeScript在代码中添加了大量信息并强制执行此用法。输出的TypeScript代码包含了更多的相关信息,比如类型签名等,而JavaScript代码的描述信息很少,阅读起来也比较困难。您需要以JSDoc或某种外部文档的形式提供信息。当大量代码被复用时,会降低开发效率。当然,阅读和编??写文档仍然很重要,但是类型提示使代码更具可读性。对于尚未完全理解您的代码库的人来说尤其如此。Intellisense与Typescript配合使用效果更好,因为类型签名信息可用。在短期内,使用TypeScript有时确实意味着更多的输入。此外,由于TypeScript将被转换为JavaScript并与JavaScript代码库混合,因此有时必须在某些地方进行战斗和关闭。但从长远来看,TypeScript是可以扩展的,而JavaScript很难扩展。现在使用TypeScript将在未来帮助您的开发人员。TypeScript的功能比JavaScript多TypeScript的功能比JavaScript多。显然,静态类型检查是主要的,但还有其他的。大多数TypeScript特性(以前没有在JavaScript中实现)现在都在JavaScript中实现。但TypeScript仍然有优势,因为它比JavaScript发展得更快。例如接口、命名空间、泛型、抽象类、数据修饰符、可选值、函数重载、装饰器、utils类型和readonly关键字等。本文无意涵盖所有这些功能,只是一个简单的只读TypeScriptutilinterfaceArticle{title:String;content:String;}/***Purefunction,thattranslatesthearticleandreturnsit*/consttranslate=(article:Readonly
