下一代 ECMAScript 是指在 ECMAScript 2015 被推出后的 ECMA-262 标准（通常被称为 JavaScript）的新特性。新版本的 ECMAScript 规范会每年发布。

你可以在 tc39/ecma262 这个仓库中看见当前的规范草案。

es-discuss 是一个关于 ECMAScript 标准有关反馈的渠道。

## ECMAScript 2016

下面的 ECMAScript 2016 特性已实现：

- `Array.prototype.includes()` (Firefox 43)
- `TypedArray.prototype.includes()` (Firefox 43)

## ECMAScript 2017

下面的 ECMAScript 2017 特性已实现：

- `Object.values()` 和 `Object.entries()` (Firefox 47)
- `String.prototype.padEnd()` (Firefox 48)
- `String.prototype.padStart()` (Firefox 48)
- `Object.getOwnPropertyDescriptors()` (Firefox 50)
- 异步函数
  - `异步函数语句` (Firefox 52)
  - `异步函数表达式` (Firefox 52)
  - `AsyncFunction` (Firefox 52)
  - `await 语句` (Firefox 52)
- `函数参数列表的尾后逗号` (Firefox 52)

## 实验性的新特性

以下特性已经实现，但可能仅在 Firefox Nightly 中可用、或者需要浏览器 flags 开启；且此提案的标准可能尚未正式进入 ECMAScript 规范，请小心使用。

### `ArrayBuffer` 对象的新方法

- `ArrayBuffer.transfer()` (spec)

### 新的 TypedObject 对象

- Typed Objects draft

### 新的 Shared Memory 对象

- `SharedArrayBuffer`
- `Atomics`

## 相关链接

- ECMAScript 官网
- Mozilla ES2016 tracking bug
- ECMAScript 2015 support across browsers