ECMAScript和JavaScript的关系

1. ECMAScript和JavaScript的关系

 

 ECMA是“European Computer Manufacturers Association”的缩写,中文称欧洲计算机制造联合会。这个组织的目标是评估,开发和认可电信和计算机标准。

 

     ECMA是标准, JavaScript是实现  

     类似HTML5是标准, IE10、Chrome、FF都是实现

     目的是让所有前端脚本都实现ECMA

     目前只有JavaScript实现ECMA标准, ECMAScript ≈ JS

 

 ECMAScript简称ECMA或ES(ES6)

 

    目前版本

    高级浏览器支持ES6

    低级浏览器主要支持ES3.1

 

ECMAScript是跨多个平台的许多厂商(包括浏览器厂商在内的各方组成)实施的不断发展的标准。ES6(ECMAScript 2015)花费六年的时间敲定,是一个很大的发行版。新的年度发布流程被制定,以简化流程并更快地添加功能。 ES11(ES2020)是目前的最新版本。推动JavaScript提案沿着一条严格的发展道路前进:

 

    Stage 0: strawman——最初想法的提交。

    Stage 1: proposal(提案)——由至少一名成员倡导的正式提案文件,该文件包括API事例。

    Stage 2: draft(草案)——功能规范的初始版本,该版本包含功能规范的两个实验实现。

    Stage 3: candidate(候选)——提案规范通过审查并从厂商那里收集反馈

    Stage 4: finished(完成)——提案准备加入ECMAScript,但是到浏览器或者Nodejs中可能需要更长的时间

时间

版本

说明

1996  11


JavaScript 的创造者 Netscape 公司将 JavaScript 提交给标准化组织 ECMA

1997

 ES1

ECMA 发布 262 号标准文件(ECMA-262),规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript (ES).

1998

ES2

内容编辑加工,没有特性修改。

1999

 ES3

有较完善的修改,成为JavaScript的通行标准,得到了广泛支持。

2000

 ES4

 2008年终止也称作JavaScript 2,因改动太大没有通过,Harmony项目启动来跟进,ES4大部分内容被 ES6 继承. Harmony部分内容放到ES6之后。

2009

ES5(ES3.1)

 新功能主要包括:JSON对象(包含parse/stringify等方法)、ArrayObject增加一些方法,严格模式(use strict),函数的bind方法。

2011 

ES5.1

成为 ISO 国际标准(ISO/IEC 16262:2011) 到了2012年底,主流浏览器都支持ECMAScript 5.1的全部功能

2015

 ES2015(ES6)

做了大量的更新,但向后兼容。ES6是一次重大改进。

部分功能:let/const、变量的解构赋值、Promise、箭头函数

2016

ES2016(ES7)

 新功能主要包括:

1. Array.prototype.includes检查数组中是否存在值;(区别ES6字符串的includes方法)

2. Exponentiation Operator 求幂运算 (a ** b等价于Math.pow(a,b))

2017

 ES2017(ES8)

部分功能:

1.Object.values/entries/getOwnPropertyDescriptors

2.String.prototype.padStart/padEnd

3.函数参数列表和调用中的尾逗号(Trailing commas

4.Async Functions 异步函数(async/await

2018

ES2018(ES9)

现在已经可用了。新增异步迭代、Promise.finally()Rest/Spread 属性、正则表达式命名捕获组、正则表达式反向断言、非转义序列的模板字符串......


接触ES6的意义

    对语法的改进,功能的增加

    使用Vue、React、小程序、Nodejs等都在用

    ES6以上版本再等等


回到

顶部