ECMAScript 简称 ES。ES 是一个脚本语言。注意,是 ES 也是脚本语言。

ES 通常可以看作是 JavaScript 的标准化规范。

ES 只提供了最基本的语法。如:怎样定义变量和函数。

JS 实现了 ES 的语言标准。JS 还在此基础上新增了一些拓展,使得我们可以在浏览器可以操作 DOM/BOM,在 Node 环境中可以读写文件等操作。

因为 JS 是在 ES 基础上的拓展,所有 JS 是 ES 的扩展语言。

JS 在浏览器环境中的组成关系:ES + Web Apis (BOM + DOM 等)。

JS 在 Node 环境中的组成关系:ES + Node Apis(fs + net 等)。

ES6 为什么指的是 ESMAScript 2015

| 名称 | 标准版本 | 发行时间 |

| :—: | :—: | :—: |

| ECMAScript 2019(ES2019) | 10 | 2019年6月 |

| ECMAScript 2018(ES2018) | 9 | 2018年6月 |

| ECMAScript 2017(ES2017) | 8 | 2017年6月 |

| ECMAScript 2016(ES2016) | 7 | 2016年6月 |

| ECMAScript 2015(ES2015) | 6 | 2015年6月 |

| ECMAScript 5.1(ES5.1) | 5.1 | 2011年6月 |

| ECMAScript 5(ES5) | 5 | 2009年12月 |

| ECMAScript 4(ES4) | 4 |

| ECMAScript 3(ES3) | 3 |

| ECMAScript 2(ES2) | 2 |

| ECMAScript 1(ES1) | 1 |

从上表我们能够讲出如下几点:

ES 的版本更迭从 ES5 跨向 ES6 这个阶段发生了巨变,中间间隔了 6 年之久(不谈 5.1

6 年里,刚好是 Web 界快速发展的几年,ES6 一经发布,带来的更新内容特别多,因此算作一个新阶段的起始点。

ES6 发布时的版本应该是 ECMAScript 6,但从 2015 这年开始 ES 的版本不再使用版本号命名了,而是使用年号,因此 ES6 又叫 ESCMAScript 2015。

从 2015 年开始,ES 的更新频率加速,达到每年一更,且规律是每年的 6 月时更新。

ECMAScript 2015(ES6)新特性介绍

ES6 是 ECMAScript 标准的代表版本,原因如下:

相比于 ES5.1 的变化比较大

自此,标准命名规则发生变化 目前有很多开发者还喜欢用 ES6 这个名称泛指从 ES5.1 以后所有的新版本。 例如 “使用 ES6 的 async 和 await”,实际上 async 是 ES2017 中制定的标准。 因此我们需要注意分辨文章中的 ES6 是特指 ES2015 还是 泛指 ES2015之后的所有新标准。