ES7、ES8、ES9、ES10、ES11 浏览器支持 [关闭]

Posted

技术标签:

【中文标题】ES7、ES8、ES9、ES10、ES11 浏览器支持 [关闭]【英文标题】:ES7, ES8, ES9, ES10, ES11 Browser support [closed] 【发布时间】:2020-09-02 06:24:20 【问题描述】:

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

Mozilla 有一些信息on their website,可以看到完全支持 ES7 和 ES8,ES9 仍然存在一些问题,最新版本支持 ES10。

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

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

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

【问题讨论】:

投票重新打开,因为随着时间的推移应该有更好的答案,而不是通过功能检查 @PaulVerest 你期待什么样的答案? 我认为这个问题也应该重新打开。 【参考方案1】:

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

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

【讨论】:

如果这个问题不离题,我会赞成这个。 @Bergi 是的,我也处于接近投票的边缘。 +1 用于兼容性表链接,但对我来说(2021 年 1 月),它没有显示最新的 Chrome 和 FF 和 Edge 不支持的 es2017 功能,所以似乎可以做一些 'ES 版本到浏览器映射'?正如您所说,开发人员可以使用功能而不是版本,但例如in TypeScript tsconfig 'lib' we have to choose es2017 or es2018 etc. based on what our minimum supported browser can handle。【参考方案2】:

原因很简单:他们不支持。 ES6 之上的一切仍在开发中。由于 ES6 仍在被采用,并且并非所有浏览器都支持所有内容,因此他们没有理由瞄准 ES7。如果你想使用 >ES7 特性,我建议你研究一下 Babel,因为有办法使用 ES7 及更高版本并将其编译回 ES5,这样即使 IE 也支持它。

希望对您有所帮助,有问题欢迎评论!

【讨论】:

以上是关于ES7、ES8、ES9、ES10、ES11 浏览器支持 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ES6ES7ES8ES9ES10ES11新增特性一览-介绍

ES6、ES7、ES8、ES9、ES10新特性一览

ES6ES7ES8ES9ES10新特性一览

ES6ES7ES8ES9ES10新特性

ES7,ES8,ES9,ES10新增基础知识

ES7,ES8,ES9,ES10新增基础知识