JavaScript 简介

  |   0 评论   |   0 浏览

JavaScript 历史

Brendan Eich自1995年4月受聘于网景公司,开始实现一种名为“魔卡(Mocha)”——JavaScript最早的开发代号或名称的语言。仅两个月之后,为了迎合Netscape的Live战略而更名为LiveScript。到了1995年年末,又为了迎合市场对Java语言的热情,正式地、也是遗憾地更名为JavaScript,并随网景浏览器推出。

相关书籍《JavaScript 20 年》雪碧翻译)

本书又名《没人比我们更懂的 JavaScript》和《TC39 执政回忆录》,详细记载和解读了自 1995 年语言诞生到 2015 年 ES6 规范制定为止,共计 20 年的 JavaScript 演化经历。全书不仅讲解了大量语言细节层面的演进,更复盘了更高层面上规范制定与标准博弈中的历史成败,是一部讲述人类如何在商业与技术上的竞争合作中促进产业发展的故事。

JavaScript 标准

1997年7月,ECMA(European Computer Manufacturers Association,欧洲计算机制造商协会)组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript。这个版本就是 ECMAScript 1.0 版。之所以不叫 JavaScript,一方面是由于商标的关系,Java 是 Sun 公司的商标,根据一份授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,另一方面也是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。

截至 2012 年,所有的现代浏览器都完整的支持 ECMAScript 5.1,旧版本的浏览器至少支持 ECMAScript 3 标准。2015年6月17日,ECMA 组织发布了 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6。自此,ECMAScript 每年发布一个新版本。

ECMAScript 相关标准:

ECMAScript 是一个标准集合,各标准之间的关系如下图所示(该图来源于 ECMA-414):
Figure1ComponentsoftheECMAScriptSpecificationSuiteStandard.jpg

以上四个标准,除了 ECMA-404,其它三个标准都属于 ECMAScript。而 ECMA-404 是属于 Programming Languages 分类的,见下图(该图截取自ECMA官网):
SoftwareEngineeringandInterfaces.png

ECMAScript 标准由TC-39(TC, Technical Committees)制定。近些年,国内的360、阿里巴巴、华为和腾讯等公司先后加入了Ecma,这里有一个JavaScript 中文讨论组

JavaScript 引擎

SpiderMonkey
Brendan Eich编写的JavaScript引擎最后由Mozilla贡献给了开源界,SpiderMonkey便是这个产品开发中的、开源项目的名称(code-name,即项目代码名)。

JScript(Chakra)
微软于1996年在IE中实现的一个与网景浏览器类似的脚本引擎。
但是,在2018年12月微软通过其博客官方宣布:未来将采用 Chromium 内核开发桌面版 Edge 浏览器,以便为用户带来更好的 Web 兼容性,并为所有 Web 开发者减少 Web 碎片化。

V8
V8 是 Google 用C++开发的开源的 JavaScript 引擎,用于 Google Chrome 及 Chromium 中。

相关资料

JavaScript 教程
JavaScript | MDN
《JavaScript权威指南(第6版)》
《JavaScript语言精髓与编程实践》