在最新一期的TIOBE排行榜中,JavaScript排名第6,而前十名根本没有TypeScript的影子,那为什么企业大规模开发都会选用TypeScript呢?
对于越来越多的程序员来说,JavaScript是早已掌握了的技能,因此一直占据着编程语言排行榜前十名的位置。但JavaScript从来都不是团队构建大型复杂应用程序的首选,企业长期以来都喜欢Java和C#等强类型语言,但这些语言的虚拟机在浏览器中从来没有一个归属。作为JavaScript的延伸,TypeScript既弥补了JavaScript在大规模开发过程中的不足,又具备了适合各类浏览器的虚拟机。
正面交战:Github热度如何?
作为前辈,JavaScript的Star数量确实远高于TypeScript,但热度确不及TypeScript,TypeScript是微软的开源项目,其贡献者绝大多数都是微软的工程师,提交量达到20212,而JavaScript主要是Netscape和Mozilla基金会开源的,贡献者绝大多数都是来自这两大组织的成员,而提交量仅有1546份,可见TypeScript社区更为活跃、问题修复与反馈也十分及时。
TypeScript优势:简单易用!
对JavaScript有效的对TypeScript同样有效,因此可以通过简单地将。js的文件扩展名更改为。ts来使用TypeScript编译器和TypeScript感知工具。
TypeScript具备#收集类型定义,提供数百个JavaScript库(包括jQuery,Angular和Bootstrap)的定义并描述这些库的导出接口。由于TypeScript可以在任何平台上定位JavaScript虚拟机,并且不仅提供编译器,还提供一组支持智能编码的语言服务。
JavaScript弱势:静态类型检查, 代码重构和语言服务……
如果程序员只需要写两三千行脚本,那你可能用着JavaScript还乐在其中。如果程序员需要写个数万行脚本,还用JavaScript恐怕要叫苦不迭了,JavaScript的缺点恐怕可以说上一箩筐。TypeScript在静态类型检查、代码重构和语言服务方面的优势十分明显,而这些正好是JavaScript的劣势。
除此之外,JavaScript在字符串,数字和日期之间的隐式转换使得难以可视化流入和流出函数的对象类型。在团队开发中,对代码进行注释是极其重要的,如果你刚好负责一个底层库的开发,不需要再单独提交一份文档进行详细解释,TypeScript可以清楚记录每一个对象的属性,方法的参数等。JavaScript也可以做,但还是不够,还是需要单独写一份文档才够详细。
TypeScript优势:测试开销
说完了开发自然就是测试,对于团队开发而言,测试也是一笔不小的开销,事无巨细才能在市场上有立足之地。很多程序员或许都曾想过“编写静态类型输入的测试的可行性”问题,TypeScript是基于ECMAScript 6标准的实现,它的测试可将程序作为一组模块传播到多个文件。TypeScript采用的这种机制是大规模开发的福音。当以标准方式声明模块依赖关系时,程序员可以更容易地理解这些依赖关系,工具可以使这种理解自动化,代码重构风险较小。
总结一句话:对于Javascript来说,TypeScript就像未来的自己!随着技术的发展,JavaScript终会向着TypeScript的方向看齐,包括编辑器、各类库和API都会与TypeScript有更棒的集成,虽然现在已经很棒了。
更多烟台达内相关资讯,请扫描下方二维码