ECMAScript 2017 语言规范发布

by admin on 2020年4月9日

Ecma 国际公布了第八版的 ECMAScript 语言规范 ECMAScript
2017(或
ES8)。ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。

术语

不管新手老手, 学门语言如果不简单了解这门语言谁创立的, 什么时候,
现在由谁来维护, 规范在哪?
总感觉, 少了点什么, 我就是这样.

其在 1998 年和 1999 年发布了第二和第三个版本,之后沉寂 了许多年,直到
Ajax 流行起来后标准工作才再次起步,2009 年发布了第五个版本,自 2015
年起每年发布一个版本。ECMAScript 2017
的主要变化包括:Object.values/Object.entries、字符串填充、Object.getOwnPropertyDescriptor、尾随逗号、异步函数、共享内存和原子,等。ECMAScript
2018 已在制定中。

ECMAScript

Sun(现在的Oracle)公司持有着“Java”和“JavaScript”的商标。这就让微软不得不把自己的JavaScript方言称之为“JScript”。然后,在这门语言被标准化的时候,就必须使用一个与二者都不同的名字。“ECMAScript”就这样诞生了,这个名字的来由是因为执行标准化的组织是Ecma国际。通常来说,术语“ECMAScript”和“JavaScript”指的是同一个东西。但如果把JavaScript看成是“Mozilla或其他组织的ECMAScript实现”,那么ECMAScript就是实现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这样的方式.

稿源:solidot

ECMA-262

Ecma国际
(一个标准化组织)创建了ECMA-262规范,这个规范就是ECMAScript语言的官方标准。

标准

如果浏览器大战继续下去, 那对前端程序员来说无疑是场噩梦. 在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 6

指的就是ECMA-262规范的第六版,同时也是当前最新的正式规范。

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版.

Ecma第39号技术委员会 (TC39)

是一组开发ECMA-262标准规范的人(Brendan Eich和其他一些人)。

 

相关链接

ECMAScript历史版本:

ECMAScript最新版本:

JavaScript Wikipedia:

ECMAScript Wikipedia:

Ecma International Wikipedia:

ECMA-262, 8th edition Introduction:

历史

ECMAScript 1

1997年6月发布,本质上与javascript 1.1
相同——只不过只不过删除了所有针对浏览器的代码并作了一些较小的改动:ECMAScript要求支持Unicode标准,而且对象也变成了平台无关的。

ECMAScript 2

1998年6月发布,主要是编辑加工的结果。这一版的内容更新是为了与ISO/IEC-16262保持严格一致,没有作任何新增、修改或删节处理。因此,一般不使用第2版来衡量ECMAScript实现的兼容性。

ECMAScript 3

1999年12月发布,是对ECMAScript标准第一次真正的修改。新增了对正则表达式、新控制语句、try-catch异常处理的支持,修改了字符处理、错误定义和数值输出等内容。
从各方面综合来看,第3版标志着ECMAScript成为了一门真正的编程语言。

ECMAScript 4

于2008年7月发布前被废弃……命运坎坷

ECMAScript 5

2009年12月发布,该版本力求澄清第3版中的歧义,并添加了新的功能。新功能包括:原生JSON对象、继承的方法、高级属性的定义以及引入严格模式。

ECMAScript 6

2015年6月17日发布。截止发布日期,JavaScript的官方名称是ECMAScript
2015,Ecma国际意在更频繁地发布包含小规模增量更新的新版本,下一版本将于2016年发布,命名为ECMAScript
2016。从现在开始,新版本将按照ECMAScript+年份的形式发布。
S6是继ES5之后的一次主要改进,语言规范由ES5.1时代的245页扩充至600页。ES6增添了许多必要的特性,例如:模块和类以及一些实用特性,例如Maps、Sets、Promises、生成器(Generators)等。
尽管ES6做了大量的更新,但是它依旧完全向后兼容以前的版本,标准化委员会决定避免由不兼容版本语言导致的“web体验破碎”。结果是,所有老代码都可以正常运行,整个过渡也显得更为平滑,但随之而来的问题是,开发者们抱怨了多年的老问题依然存在。

ECMAScript 5新特性详解

移步下面三篇文章

  • ECMAScript5
    Object的新属性方法

  • ECMAScript5
    Array新增方法

  • ECMAScript5的其它新特性

ECMAScript 6新特性及代码示例

移步这里
ECMAScript 6 — New Features: Overview &
Comparison

新增特性的兼容性看这里 


补充

  • ECMAScript 6新特性介绍

  • ES6中非常实用的新特性介绍

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图