陈剑高分指南2019
Whenever you read about JavaScript you’ll inevitably see one of these terms:
每当您阅读有关JavaScript的内容时 ,都会不可避免地看到以下术语之一:
- ES3 ES3
- ES5 ES5
- ES6 ES6
- ES7 ES7
- ES8 ES8
- ES2015 ES2015
- ES2016 ES2016
- ES2017 ES2017
- ECMAScript 2015 ECMAScript 2015
- ECMAScript 2016 ECMAScript 2016
- ECMAScript 2017 ECMAScript 2017
- ECMAScript 2018 ECMAScript 2018
- ECMAScript 2019 ECMAScript 2019
What do they mean?
他们的意思是什么?
They are all referring to a standard, called ECMAScript.
它们都指一个称为ECMAScript的标准 。
ECMAScript is the standard upon which JavaScript is based, and it’s often abbreviated to ES.
ECMAScript是JavaScript所基于的标准 ,并且通常缩写为ES 。
Beside JavaScript, other languages implement(ed) ECMAScript, including:
除JavaScript外,其他语言也实现ECMAScript,包括:
ActionScript (the Flash scripting language), which is losing popularity since Flash will be officially discontinued in 2020
自2020年正式停用Flash以来, ActionScript (Flash脚本语言)逐渐消失
JScript (the Microsoft scripting dialect), since at the time JavaScript was supported only by Netscape and the browser wars were at their peak, Microsoft had to build its own version for Internet Explorer
JScript (Microsoft脚本方言),因为当时仅Netscape支持JavaScript,并且浏览器之战已达到顶峰,所以Microsoft必须为Internet Explorer构建自己的版本
but of course JavaScript is the most popular and widely used implementation of ES.
但是,当然,JavaScript是ES中最流行和使用最广泛的实现。
Why this weird name? Ecma International
is a Swiss standards association who is in charge of defining international standards.
为什么这么奇怪的名字? Ecma International
是瑞士标准协会,负责定义国际标准。
When JavaScript was created, it was presented by Netscape and Sun Microsystems to Ecma and they gave it the name ECMA-262 alias ECMAScript.
创建JavaScript时,Netscape和Sun Microsystems将其提供给Ecma,他们给它起了ECMA-262别名ECMAScript的名称。
This press release by Netscape and Sun Microsystems (the maker of Java) might help figure out the name choice, which might include legal and branding issues by Microsoft which was in the committee, according to Wikipedia.
Wikipedia称 ,Netscape和Sun Microsystems (Java的制造商)的本新闻稿可能有助于弄清名称的选择,其中可能包括委员会中的Microsoft的法律和品牌问题。
After IE9, Microsoft stopped branding its ES support in browsers as JScript and started calling it JavaScript (at least, I could not find references to it any more)
IE9之后,Microsoft停止在浏览器中将其对ES支持的品牌标识为JScript,并开始将其称为JavaScript(至少,我再也找不到它的引用了)
So as of 201x, the only popular language supporting the ECMAScript spec is JavaScript.
因此,从201x开始,支持ECMAScript规范的唯一流行语言是JavaScript。
什么是TC39 (What is TC39)
TC39 is the committee that evolves JavaScript.
TC39是开发JavaScript的委员会。
The members of TC39 are companies involved in JavaScript and browser vendors, including Mozilla, Google, Facebook, Apple, Microsoft, Intel, PayPal, SalesForce and others.
TC39的成员是涉及JavaScript和浏览器供应商的公司,包括Mozilla,Google,Facebook,Apple,Microsoft,Intel,PayPal,SalesForce等。
Every standard version proposal must go through various stages, which are explained here.
每个标准版本建议都必须经历各个阶段,在此进行解释 。
ES版本 (ES Versions)
I found it puzzling why sometimes an ES version is referenced by edition number and sometimes by year, and I am confused by the year by chance being -1 on the number, which adds to the general confusion around JS/ES 😄
我感到有些困惑,为什么有时会用版本号有时又用年份来引用ES版本,而我对年份感到困惑,因为偶然的数字是-1,这使人们对JS / ES感到困惑。
Before ES2015, ECMAScript specifications were commonly called by their edition. So ES5 is the official name for the ECMAScript specification update published in 2009.
在ES2015之前,ECMAScript规范通常由其版本调用。 因此,ES5是2009年发布的ECMAScript规范更新的正式名称。
Why does this happen? During the process that led to ES2015, the name was changed from ES6 to ES2015, but since this was done late, people still referenced it as ES6.
为什么会这样? 在导致ES2015的过程中,名称从ES6更改为ES2015,但是由于这样做很晚,因此人们仍将其称为ES6。
This table should clear things a bit:
该表应清除一些内容:
Edition | Official name | Date published |
---|---|---|
ES11 | ES2020 | Summer 2020? |
ES10 | ES2019 | Summer 2019 |
ES9 | ES2018 | June 2018 |
ES8 | ES2017 | June 2017 |
ES7 | ES2016 | June 2016 |
ES6 | ES2015 | June 2015 |
ES5.1 | ES5.1 | June 2011 |
ES5 | ES5 | December 2009 |
ES4 | ES4 | Abandoned |
ES3 | ES3 | December 1999 |
ES2 | ES2 | June 1998 |
ES1 | ES1 | June 1997 |
版 | 官方名字 | 发布日期 |
---|---|---|
ES11 | ES2020 | 2020年夏季? |
ES10 | ES2019 | 2019年夏季 |
ES9 | ES2018 | 2018年六月 |
ES8 | ES2017 | 2017年六月 |
ES7 | ES2016 | 2016年六月 |
ES6 | ES2015 | 2015年6月 |
ES5.1 | ES5.1 | 2011年6月 |
ES5 | ES5 | 2009年12月 |
ES4 | ES4 | 弃 |
ES3 | ES3 | 1999年12月 |
ES2 | ES2 | 1998年6月 |
ES1 | ES1 | 1997年6月 |
ES下一页 (ES Next)
ES.Next is a name that always indicates the next version of JavaScript.
ES.Next是一个始终指示下一个JavaScript版本的名称。
So at the time of writing, ES2019 has been released, and ES.Next is ES2020
所以在撰写本文时,ES2019已经发布,而ES接下来是ES2020
陈剑高分指南2019