Kangax 的 ES7 兼容性表格
Kangax 的 ES7 兼容性表格
https://kangax.github.io/compat-table/es2016plus/
Engine types
Features
Flagged features
Show obsolete platforms Show unstable platforms
⬤ Minor difference (1 point) ⬤ Small feature (2 points) ⬤ Medium feature (4 points) ⬤ Large feature (8 points)
| Compilers/polyfills | Desktop browsers | Servers/runtimes | Mobile | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Feature name | Current browser | Traceur | Babel 6 + core-js |
Closure 2018.11 | Type- Script + core-js |
es7-shim | IE 11 | Edge 17 | Edge 18 | FF 60 ESR | FF 63 | FF 64 | CH 70, OP 57 |
CH 71, OP 58 |
SF 11.1 | SF 12 | Node >=6.5 <7[2] | Node >=8.10 <9[2] | Node >=10.13 <11[2] | DUK 2.2 | GraalVM 1.0[3] | iOS 11.3 | iOS 12 | Samsung 8.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2016 features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§exponentiation (**) operator |
2/3 | 3/3 | 3/3 | 2/3 | 0/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 0/3 | 3/3 | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 | 3/3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Array.prototype.includes |
0/3 | 3/3 | 2/3 | 3/3 | 2/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2016 misc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§generator functions can't be used with "new" [7] |
Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§generator throw() caught by inner generator [8] |
Yes | No | No | Yes | Yes[9] | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §strict fn w/ non-strict non-simple params is error[10] | Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§nested rest destructuring, declarations [11] |
Yes | No | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §nested rest destructuring, parameters[12] | Yes | No | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Proxy, "enumerate" handler removed [13] |
Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §Proxy internal calls, Array.prototype.includes | Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2017 features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §Object static methods | 0/4 | 4/4 | 3/4 | 4/4 | 3/4 | 0/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 0/4 | 4/4 | 4/4 | 0/4 | 4/4 | 4/4 | 4/4 | 4/4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §String padding | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§trailing commas in function syntax |
0/2 | 2/2 | 2/2 | 2/2 | 0/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§async functions |
3/15 | 3/15 | 9/15 | 8/15 | 0/15 | 0/15 | 15/15 | 15/15 | 15/15 | 15/15 | 15/15 | 15/15 | 15/15 | 15/15 | 15/15 | 0/15 | 15/15 | 15/15 | 0/15 | 13/15 | 15/15 | 15/15 | 15/15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §shared memory and atomics | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 0/17 | 17/17 | 17/17 | 0/17 | 0/17 | 0/17 | 17/17 | 17/17 | 0/17 | 17/17 | 0/17 | 0/17 | 0/17 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2017 misc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Proxy "ownKeys" handler, duplicate keys for non-extensible targets (ES 2017 semantics) [22] |
Yes | No | No | No | No | No | No | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §RegExp "u" flag, case folding | Yes | No | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§arguments.caller removed |
Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2017 annex b | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §Object.prototype getter/setter methods | 0/16 | 16/16 | 0/16 | 16/16 | 0/16 | 8/16 | 14/16 | 14/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | 10/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | 16/16 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §Proxy internal calls, getter/setter methods | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 | 0/4 | 4/4 | 4/4 | 0/4 | 4/4 | 4/4 | 4/4 | 4/4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§assignments allowed in for-in head in non-strict mode |
Yes | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2018 features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §object rest/spread properties | 0/2 | 2/2 | 1/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Promise.prototype.finally |
0/3 | 3/3 | 3/3 | 3/3 | 0/3 | 0/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 0/3 | 0/3 | 3/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §s (dotAll) flag for regular expressions | Yes | ? | Yes | No | ? | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | ? | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §RegExp named capture groups | Yes | No | Yes | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | No | Flag[23] | Yes | No | Yes | Yes | Yes | Flag[23] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §RegExp Lookbehind Assertions | Yes | No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | Flag[23] | Yes | Yes | No | Yes | No | No | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §RegExp Unicode Property Escapes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | No | Flag[23] | Yes | No | Yes | Yes | Yes | Flag[23] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §Asynchronous Iterators | 0/2 | 2/2 | 2/2 | 2/2 | 0/2 | 0/2 | 0/2 | 0/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 0/2 | 2/2 | 0/2 | 0/2 | 2/2 | 0/2 | 2/2 | 0/2 | 2/2 | 2/2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2018 misc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §template literal revision | Yes | No | No | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2019 misc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| §optional catch binding | 0/3 | 0/3 | 0/3 | 3/3 | 0/3 | 0/3 | 0/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 0/3 | 0/3 | 3/3 | 0/3 | 0/3 | 3/3 | 3/3 | 0/3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Symbol.prototype.description |
Yes | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | No | Yes | No | No | No | No | No | No | Yes | No | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
§Function.prototype.toString revision |
0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 1/7 | 4/7 | 4/7 | 7/7 | 7/7 | 7/7 | 7/7 | 7/7 | 4/7 | 4/7 | 4/7 | 4/7 | 7/7 | 1/7 | 7/7 | 4/7 | 4/7 | 4/7 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[1] Flagged features have to be enabled via --harmony flag
[2] Flagged features have to be enabled via --harmony or --es_staging flag
[3] Executed in Node.js/JVM mode via graalvm/bin/node --jvm.
[4] The feature have to be enabled via "Experimental Javascript features" setting under about:flags
[5] This feature is supported when using Babel with core-js.
[6] This feature is supported when using TypeScript with core-js.
[7] TC39 meeting notes from July 28, 2015.
[8] 'Semantics of yield* in throw case' GitHub issue in ECMA-262 repo.
[9] Requires the downlevelIteration compile option.
[10] TC39 meeting notes from July 29, 2015.
[11] TC39 meeting notes from July 28, 2015.
[12] TC39 meeting notes from July 28, 2015.
[14] This feature requires native generators or regenerator-runtime, it's a part of babel-polyfill or babel-runtime.
[15] Flagged features have to be enabled via "Enable experimental Javascript features" setting under about:flags
[16] The feature was temporarily disabled to mitigate the Meltdown and Spectre CPU bugs.
[17] The feature is available only in Firefox Developer Edition and Firefox Nightly builds.
[18] The feature was temporarily disabled to mitigate the Meltdown and Spectre CPU bugs. It can be enabled via javascript.options.shared_memory setting under about:config
[19] The feature was temporarily disabled to mitigate the Meltdown and Spectre CPU bugs.
[20] The feature was temporarily disabled to mitigate the Meltdown and Spectre CPU bugs.
[21] The feature have to be enabled via "Experimental enabled SharedArrayBuffer support in JavaScript." setting under about:flags
[22] The behaviour of the Proxy “ownKeys” handler in presence of duplicate keys has been modified later.
[23] The feature have to be enabled via --js-flags="--harmony" flag
[24] The feature is considered unstable, but can be enabled via --js-flags="--harmony-promise-finally" flag
============== End
Kangax 的 ES7 兼容性表格的更多相关文章
- ES6 有什么新东西
ES6 有什么新东西? 你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本 ...
- ES6相关新特性介绍
你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...
- CSS3 nth 伪类选择器
考察下面的 HTML 代码片段: <div> <section>section 1</section> <section>section 2</s ...
- arguments 对象的老历史
引题:为什么 JavaScript 中的 arguments 对象不是数组 http://www.zhihu.com/question/50803453 JavaScript 1.0 1995 年, ...
- 第十一章:WEB浏览器中的javascript
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...
- ES6:JavaScript 新特性
我相信,在ECMAScript.next到来的时候,我们现在每天都在写的JavaScript代码将会发生巨大的变化.接下来的一年将会是令JavaScript开发者们兴奋的一年,越来越多的特性提案将被最 ...
- JavaScript 风格指导(Airbnb版)
JavaScript 风格指导(Airbnb版) 用更合理的方式写 JavaScript 原文 翻译自 Airbnb JavaScript Style Guide . 目录 类型 引用 对象 数组 解 ...
- 三种情形容易引起Azure虚拟机重新启动
与虚拟机或云服务角色中运行的代码有关的问题可能会导致重新启动.但是,Microsoft 在以下情况下也会重新启动您的角色: 来宾操作系统更新 – 仅影响云服务 Web 和辅助角色.有关如何限制这些 ...
- 语音控制的tab选项卡
前端开发whqet,csdn,王海庆,whqet,前端开发专家 ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了. 语音识别高不高端.难不难? 今天给大 ...
随机推荐
- opencv7-ml之统计模型
在opencv的ml模块中有个统计模型类,而其他的比如朴素贝叶斯分类器.knn.svm等等其他模型都是基于该模型上派生出来的.所以先介绍下该模型. 该类的定义在文件"opencv\sourc ...
- WFP page navigator control
WPF navigator UI: <Grid x:Class="WpfApplication2.PagerNav" xmlns="http://schemas.m ...
- 20155301 Exp6 信息搜集与漏洞扫描
20155301 Exp6 信息搜集与漏洞扫描 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 (4 ...
- python基础学习1-变量定义赋值,屏幕输入输出
一.变量定义赋值 输入输出屏幕显示 : name = input("input is your name") age =int( input("input is your ...
- 本地mysql快速迁移到服务器数据库中
我们可以使用linux的scp命令(scp无法在windows使用),加上mysql自带的mysqldump,能很快的完成数据库的迁移 将本地的数据库(music_db)导出为sql文件(music_ ...
- Python RASP 工程化:一次入侵的思考
前言 今天讲的内容会很深,包括一些 Python的高级用法和一些自己创造的黑科技,前半部分内容你们可能听过,后半部分内容就真的是黑科技了... 深入的研究和思考,总会发现很多有意思的东西.每一次的研究 ...
- css怎样去掉多个Img标签之间的间隙
在写css的时候经常会遇到这样的情况,两张宽度加起来是2n的图片,在宽度为2n的容器中放不下,这是因为两张图片之间有一段间隙的缘故,产生这种现象的原因是浏览器把两个img标签之间的空格当成了空白节点. ...
- shell脚本之基础
配置启动界面 vim /etc/inittab/ init3配置网卡 重启生效system-config-network网卡配置文件vim /etc/sysconfig/network-script ...
- 使用Windows Server 2003搭建一个asp+access网站
鼠标右键->新建->网站->下一步->描述(随便给一个,这里我以test为例) ->下一步->下一步->输入主目录的路径,默认路径下是C:\Inetpub\w ...
- Vxlan抓包
实验目的:验证Openstack vxlan组网模式验证虚拟机数据是否通过物理网卡流出 一. 同网段不同主机间虚拟机通讯 (同网段通讯直接通过物理机隧道口链接对端物理机隧道口,不需要通过网络节点): ...