JavaScript历史和标准
不管新手老手, 学门语言如果不简单了解这门语言谁创立的, 什么时候, 现在由谁来维护, 规范在哪?
总感觉, 少了点什么, 我就是这样.
历史
1994年美国网景(Netscape)公司发布自己的浏览器Netscape Navigator.
1995年, 网景公司雇Brendan Eich开发动态脚本语言, 当时网景公司正和开发Java语言的
Sun Microsystems合作,从而Brendan Eich开发的这款脚本语言, 就起名JavaScript.
Brendan Eich与1995.12.4写成JavaScript最初的原型, 据说只用了10天.
1996年3月发布的Netscape 2.0, 内嵌JavaScript 1.0
以前是网景现在是火狐, 对JavaScript版本按照1.X这样的方式命名.
JavaScript经常被简称为JS
1996年正在进行浏览器大战, 两家浏览器厂商微软和网景为了争夺更多的市场, 互不兼容, 微软在
这一年发布了内嵌在IE3上的动态脚本语言, 起名JScript. JScript和网景的JavaScript的功能
相似.
微软对JScript的命名方式是按照1.0, 2.0, X.0这样的方式.
标准
如果浏览器大战继续下去, 那对前端程序员来说无疑是场噩梦. 在1996年11月, 网景公司把JavaScript
递交给Ecma International, 希望ECMA能制定JavaScript标准, 而其它厂商都准从这个标准来实现自己
的脚本语言.ECMA接受了这个请求, 从此JavaScript的官方名字叫做ECMAScript, 其官方标准叫做
ECMA-262
ECMA-262第1版发布与1997年6月, 从此开始网景(现火狐)的JavaScript, 微软的JScript都被看做是
基于ECMA-262而实现的脚本语言.
Ecma International是1个国际性的标准组织, 与1961年创立, 总部在日内瓦. 其前身为
European Computer Manufacturers Association (ECMA), 后改名.
ECMAScript
不管JavaScript有多少种实现方案, 有多少厂商实现了它, 这都不是我们关心的. 我们现在只关注, 谁
制定了标准, 标准现在发布到第几版了.
ECMAScript最新的标准是ECMA-262第8版, 与2017年6月发布.
历史版本一览表:
ECMA-262 1st edition 1997.6
ECMA-262 2nd edition 1998.6
ECMA-262 3rd edition 1999.12
ECMA-262 4th edition 这个版本被废弃, 未曾发布
ECMA-262 5th edition 2009.12
ECMA-262 5.1 edition 2011.6
ECMA-262 6th edition 2015.6
ECMA-262 7th edition 2016.6
ECMA-262 8th edition 2017.6
ECMA官网可以下载到规范的PDF文档. (该规范PDF文档左边的目录结构不能导航!)
ECMA官网也提供有HTML形式在线的规范文档, 有目录能搜索能导航, 仅供大牛使用.
一些简称
ECMAScript 3, ECMAScript 6, 分别指的是ECMA-262第3版和第6版.
ES5, ES6, 同样指的是ECMA-262第5版和第6版. 不要把这里的5和6看成了指时间.
从上面发布的时间版本可以看到, 从2015年开始ECMA决定快速迭代, 1年发布1个版本.
所以ES2015, ES2016分别指的是ECMA-262第6版和第7版.
相关链接
ECMAScript历史版本:
http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
ECMAScript最新版本:
http://www.ecma-international.org/publications/standards/Ecma-262.htm
JavaScript Wikipedia:
https://en.wikipedia.org/wiki/JavaScript
ECMAScript Wikipedia:
https://en.wikipedia.org/wiki/ECMAScript
Ecma International Wikipedia:
https://en.wikipedia.org/wiki/Ecma_International
ECMA-262, 8th edition Introduction:
http://www.ecma-international.org/ecma-262/8.0/index.html#sec-intro