1.1 什么是TypeScript

时间回到2004年,距离HTML上一次版本(4.01)更新已有四年之久。就在这一年,几大知名浏览器厂商(Apple、Mozilla、Opera和Google)集结在了一起,其初衷是想要发展下一代HTML技术,从而使浏览器拥有更优的用户体验。与此同时,新一轮的浏览器大战也悄然拉开了序幕。想要拥有更好的用户体验,那么提供完善的功能与出色的性能这两点缺一不可。浏览器厂商们纷纷开始支持HTML 5中定义的新特性,并且在JavaScript引擎优化方面展开了一场“军备竞赛”。从那之后,JavaScript程序的运行速度有了数十倍的提升,这为使用JavaScript语言开发大型应用程序提供了强有力的支撑。如今,JavaScript不仅能够用在网页端程序的开发,还被用在了服务器端应用的开发上。但有一个不争的事实—JavaScript语言不是为编写大型应用程序而设计的。例如,JavaScript语言在相当长的时间里都缺少对模块的支持。此外,在编写JavaScript代码的过程中也缺少开发者工具的支持。因此,编写并维护大型JavaScript程序是困难的。

微软公司有一部分产品是使用JavaScript语言进行开发和维护的,例如必应地图和Office 365应用等,因此微软也面临同样的问题。在微软技术院士Steve Lucco先生的带领下,微软公司组建了一个数十人的团队开始着手设计和实现一种JavaScript开发工具,用以解决产品开发和维护中遇到的问题。随后,另一位重要成员也加入了这个团队,他就是C#和Turbo Pascal编程语言之父、微软技术院士Anders Hejlsberg先生。该团队决定推出一款新的编程语言来解决JavaScript程序开发与维护过程中所面临的难题。凭借微软公司在编程语言设计与开发方面的丰富经验,在历经了约两年的开发后,这款编程语言终于揭开了它神秘的面纱……

2012年10月1日,微软公司对外发布了这款编程语言的第一个公开预览版v0.8。该编程语言就是本书的主角—TypeScript。2014年4月2日,TypeScript 1.0版本发布;2016年9月22日,TypeScript 2.0版本发布;2018年7月30日,TypeScript 3.0版本发布。

根据StackOverflow网站举办的开发者调查 StackOverflow 2019年开发者调查结果:https://insights.stackoverflow.com/survey/2020#most-loved-dreaded-and-wanted。可以得知,TypeScript自2017年开始便稳居开发者最喜爱的编程语言前列。

[1] StackOverflow 2019年开发者调查结果:https://insights.stackoverflow.com/survey/2020#most-loved-dreaded-and-wanted。