什么是TypeScript

什么是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日,TypeScript3.0版本发布。

始于JavaScript

TypeScript是一门专为开发大规模JavaScript应用程序而设计的编程语言,是JavaScript的超集,包含了JavaScript现有的全部功能,并且使用了与JavaScript相同的语法和语义。因此,JavaScript程序本身已经是合法的TypeScript程序了。

开发者不但能够快速地将现有的JavaScript程序迁移到TypeScript,而且能够继续使用依赖的JavaScript代码库,比如jQuery等。因此,就算现有工程中依赖的第三方代码库没有迁移到TypeScript,它也不会阻碍程序开发。反之,TypeScript能够让我们更好地利用现有的JavaScript代码库。

TypeScript代码不能直接运行,它需要先被编译成JavaScript代码然后才能运行。Type-Script编译器(tsc)将负责把TypeScript代码编译为JavaScript代码。

可选的静态类型

正如TypeScript其名,类型系统是它的核心特性。TypeScript为JavaScript添加了静态类型的支持。我们可以使用类型注解为程序添加静态类型信息。

同时,TypeScript中的静态类型是可选的,它不强制要求为程序中的每一部分都添加类型注解。TypeScript支持类型推断的功能,编译器能够自动推断出大部分表达式的类型信息,开发者只需要在程序中添加少量的类型注解便能拥有完整的类型信息。

开放与跨平台

TypeScript语言是开放的。TypeScript语言规范使用了 Open WebFoundation’s Final Specification Agreement(OWF 1.0)协议。开放Web基金会(Open Web Foundation,OWF)是一个致力于开发和保护新兴网络技术规范的非营利组织。该基金会遵循类似Apache软件基金会的开源模式。微软公司实现的TypeScript编译器也是开源的,它的源代码托管在GitHub平台上并且使用了较为宽松的开源许可协议Apache License 2.0,该协议允许使用者对源代码进行修改发行以及用于商业用途。

TypeScript语言是跨平台的。TypeScript程序经过编译后可以在任意的浏览器、JavaScript宿主环境和操作系统上运行。

赞(0)

评论 抢沙发

评论前必须登录!