JavaScript和她的名字们

原文:The many names of JavaScript — LiveScript, JScript, ECMAScript, ES6 and not still Java

学习JavaScript有时会觉得困扰,特别是一些文章中不时的出现例如ES5,ES8,ES后面跟一些数字的缩写。这里有个2分钟的短小有趣的历史课,来弄清楚这些东西。

1995——一个叫布兰登·艾克(Brendan Eich)被网景公司(Netscape)聘用来创造一种可以运行在浏览器上的语言。他用十天时间完成了这个工作,起初这个语言有个名为Mocha的代号,发布的名字是LiveScript,但是之后又被改名为JavaScript,因为每个人都认为Java是世界上最神奇的语言,没有人想使用一个叫LiveScript的东西。

1996——微软(Microsoft)决定发布他们自己的JavaScript版本,名为JScript,它在IE3中得到支持。这之后JScript一直被支持到2011年的IE9。

1997——为了阻止脚本语言之战,网景到欧洲计算机制造商协会(European Computer Manufacturers Association)希望ECMA能标准化JavaScript。他们同意了,但是要求这门语言改用他们的名字。起初网景并不太喜欢这个名字,因为它听起来像个皮肤病的名字。最终妥协在名字后面加上Script,结果是ECAMScript——缩写为ES,避免ECMA的发音。第一版在六月发布。JavaScript最终成为了ECMAScript的子集,并用这个标准进行管理和设计。

1998——Macromedia Inc(现被Adobe收购)创建了一个类似的语言名为ActionScript。最后一次发布稳定版本在2006年。在Flash没落后没人再提ActionScript,并且被认为是ECMAScript的方言。

ES1(1997.6),ES2(1998.6),ES3(1999.12),ES4(弃)——是ECMAScript早期的四个版本,我们并不需要了解这些版本的详细内容,它们已经过时了。

ES5(2009.12)——ES4被抛弃后十年,ES5发布了

ES6/2015(2015.6)——ES6是发布前用于推广的名字,ES2015用以体现发布的年份。这意味着ES6和ES2015说的是同一个东西。官方叫它ES2015但是大部分人都用ES6。

ES2016(ES7/2016.6),ES2017(ES8/2017.6),ES2018(ES9/2018.6)——新的ECMAScript现在每年发布新版本。不必担心,一切改动都向后兼容,新的属性比如异步迭代和生成器,正则表达式和rest/spread运算符也让编码更轻松。

2019.6——数组扁平化Array.prototype.flat()和可选的catch绑定

LiveScript,JScript,ECMAScript,ES都是JavaScript的替代名字

一些看着感觉像JavaScript但又不是JavaScript的语言可能是ECMAScript的子集,ECMAScript是它的标准。

JavaScript经历了几次改名,它仍然和Java没有任何关系,除了名字长得像。设计上接近Self和Scheme,Brendan Eich最初想要实现但是被拒绝了,因为网景想要像Java一样酷的东西。

Comments
Write a Comment