文章

Typescript的前世今生

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#DelphiTurbo Pascal的创始人

Typescript的语言特性

TypeScript是一种为JavaScript添加特性的语言扩展。增加的功能包括:

以下功能是从ECMA 2015反向移植而来:

Typescript的现状和未来

随着Nodejs的发展,VSCode的流行,Javscript和Typescript也被大范围使用,当前Typescript在Github上进行维护,社区成员也非常活跃,同时也衍生出非常多的框架和库,如React、Vue.js、Next.js等。 下面是jetbrains的一些调研数据。

最喜欢的编程语言

Favorite programming language

最喜欢的IDE

Favorite IDE

最喜欢的框架和库

Favorite frameworks and libraries

最喜欢的测试框架

Favorite testing framework

最喜欢的打包工具

Favorite packaging tool

使用的领域

Field of use

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)

本文由作者按照 CC BY 4.0 进行授权