Typescript的前世今生
JavaScript的由来
JavaScript并非凭空而来,它本身出自浏览器,最开始是用来嵌入到浏览器网页上,执行几段代码的,例如,当时的网速很慢也贵,有些操作不适合在服务端完成,比如输入用户名密码时,如果用户忘了输入密码,直接点击发送,到服务器发现这一点就太晚了,需要有一个小程序在用户没有填一下密码的时候给出一个提示。1995年,Microsoft推出了Internet Explorer, 因为Javascript能极大提高浏览器的体验,Microsoft希望Internet Explorer也可以这样,当时Javascript是在Netscape Navigator浏览器中的,Microsoft对它的解释器进行逆向工程,开发了Jscript,这就相当于有两门语言了,开发人员必须在2个浏览器中为同一个功能实现通过2种语言各适配一次。
ECMAScript规范
为统一标准,Netscape将JavaScript提交给ECMA(European Computer Manufacturers Association, 欧洲计算机制造商协会)进行规范化。这就形成了ECMAScript,本来按理来说这个标准应该叫Javscript规范的,但是由于当时Javascript商标已经被Sun公司拥有(后来被Oracle收购),而Oracle也拥有Javascript的版权,为了避免商业纠纷,javscript的标准被命名为ECMAScript. 后面2008年,google推出了Chrome浏览器,基于V8 Javscript引擎,由于速度比竞争对手快,并且拥有即时编译的特性,可以在代码运行时将Javscript编译为机器码,而不是在执行前进行完全的解释或静态编译,显著提高速度,2009年发布了ECMAScript 5,2015年发布了ECMAScript 6
后来,2009年创建的Nodejs引发了在web浏览器之外使用Javscript的使用,Nodejs结合V8 引擎,事件循环和I/O API,而且拥有NPM,使其包括了绝大多数的包管理器。Nodejs现在已经被非常多的用户使用了,并且为Javascript的流行程度带来极大的提升。目前,很多应用程序尤其是跨平台软件都是基于web技术构建的的,如vscode、discord等。
Typescript的由来
Typescript是有微软在2012年开发和维护的开源编程语言,是Javscript的超集,提供可选的静态类型检查。Javscript本身很流行,但是其本身存在诸多缺陷,导致在开发大型应用中遇到很多问题,Typescript在不破坏现有ECMAScript规范的前提下,兼容Javscript语法,提供静态检查,其开发者同时是C#和Delphi和Turbo Pascal的创始人
Typescript的语言特性
TypeScript是一种为JavaScript添加特性的语言扩展。增加的功能包括:
以下功能是从ECMA 2015反向移植而来:
Typescript的现状和未来
随着Nodejs的发展,VSCode的流行,Javscript和Typescript也被大范围使用,当前Typescript在Github上进行维护,社区成员也非常活跃,同时也衍生出非常多的框架和库,如React、Vue.js、Next.js等。 下面是jetbrains的一些调研数据。
最喜欢的编程语言
最喜欢的IDE
最喜欢的框架和库
最喜欢的测试框架
最喜欢的打包工具
使用的领域
Ref:
JavaScript - 维基百科,自由的百科全书 (wikipedia.org) Ecma TC39 (github.com) microsoft/TypeScript: TypeScript is a superset of JavaScript that compiles to clean JavaScript output. (github.com) JavaScript and TypeScript Trends 2024: Insights From the Developer Ecosystem Survey | The WebStorm Blog (jetbrains.com)





