ES7、ES8、ES9、ES10、ES11 浏览器支持

Alv*_*tor 19 javascript ecmascript-2016 ecmascript-2017

查看有关ECMAScript2015 (ES6) 浏览器支持的数据相当容易,但我发现很难为以下所有 ES 版本(ES7 到 ES10)提供一个同样清晰的表格。

Mozilla在他们的网站上有一些信息,可以看到完全支持 ES7 和 ES8,ES9 仍然存在一些问题,最新版本支持 ES10。

我也可以猜到 IE11 在 ES5 之后就再也没有进步了。

我没有找到其他浏览器的任何东西,只是到处都是一些被盗的信息。

有谁知道目前的支持水平是多少?

str*_*str 37

浏览器供应商不实现特定版本,而是实现特定功能。几乎所有现代浏览器仍然缺少 ES2017-ES2020 的功能。因此,没有也不会有一个表格,您可以在其中看到 ES 版本到浏览器版本的映射。

但这不是问题,因为您作为开发人员也会这样做。您使用的是特性,而不是 ECMAScript 的版本。Caniuse 仍然是一个很好的资源来检查单个功能的支持。如果您对 Caniuse 上的数据展示不满意,也许这些兼容性表更适合您。此外,您可以使用 polyfills 和 Babel 将较新的功能转换为较旧的运行时。

  • 兼容性表链接+1,但对我来说(2021 年 1 月),它没有显示最新 Chrome、FF 和 Edge 不支持的 es2017 功能,所以似乎可以做一些“ES 版本到浏览器映射”?正如你所说,开发人员可以使用功能而不是版本,但例如[在 TypeScript tsconfig 'lib' 中,我们必须根据我们支持的最低浏览器可以处理的内容选择 es2017 或 es2018 等](https://stackoverflow.com /a/57474312/2604813)。 (3认同)

Ant*_*vič 11

原因很简单:他们不支持。ES6 以上的一切仍在进行中。由于 ES6 仍在被采用并且并非所有浏览器都支持所有内容,因此他们没有理由将目标定为 ES7。如果你想使用 > ES7 特性,我建议你查看 Babel,因为有一些方法可以使用 ES7 及更高版本并将其编译回 ES5,以便 IE 也支持它。

希望能帮到你,有问题欢迎留言!