Kangax 的 ES7 兼容性表格

https://kangax.github.io/compat-table/es2016plus/

Sort by            
Engine types
           
Features
           
Flagged features
          Show obsolete platforms  Show unstable platforms 
V8 SpiderMonkey JavaScriptCore Chakra Other 
⬤ 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.

[13] 'Normative: Remove [[Enumerate]] and associated reflective capabilities' GitHub Pull Request in ECMA-262 repo.

[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 兼容性表格的更多相关文章

  1. ES6 有什么新东西

    ES6 有什么新东西? 你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本 ...

  2. ES6相关新特性介绍

    你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...

  3. CSS3 nth 伪类选择器

    考察下面的 HTML 代码片段: <div> <section>section 1</section> <section>section 2</s ...

  4. arguments 对象的老历史

    引题:为什么 JavaScript 中的 arguments 对象不是数组 http://www.zhihu.com/question/50803453 JavaScript 1.0 1995 年, ...

  5. 第十一章:WEB浏览器中的javascript

    客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...

  6. ES6:JavaScript 新特性

    我相信,在ECMAScript.next到来的时候,我们现在每天都在写的JavaScript代码将会发生巨大的变化.接下来的一年将会是令JavaScript开发者们兴奋的一年,越来越多的特性提案将被最 ...

  7. JavaScript 风格指导(Airbnb版)

    JavaScript 风格指导(Airbnb版) 用更合理的方式写 JavaScript 原文 翻译自 Airbnb JavaScript Style Guide . 目录 类型 引用 对象 数组 解 ...

  8. 三种情形容易引起Azure虚拟机重新启动

      与虚拟机或云服务角色中运行的代码有关的问题可能会导致重新启动.但是,Microsoft 在以下情况下也会重新启动您的角色: 来宾操作系统更新 – 仅影响云服务 Web 和辅助角色.有关如何限制这些 ...

  9. 语音控制的tab选项卡

    前端开发whqet,csdn,王海庆,whqet,前端开发专家 ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了. 语音识别高不高端.难不难? 今天给大 ...

随机推荐

  1. ceph维护

    一个节点挂了,重新添加硬盘并格式化成xfs文件系统挂载到原来的位置后ceph osd无法启动.使用ceph osd tree查看处于down状态.A:移除掉这个osd,1:ceph osd out o ...

  2. js 深复制一个对象

    自定义 cloneObj 方法 //深复制对象 var cloneObj = function (obj) { var newObj = {}; if (obj instanceof Array) { ...

  3. Docker一键部署Hadoop心得(一)

    最近一直在折腾使用docker一键部署全分布式hadoop集群,虽然一键部署的脚本写好了并且可以成功运行出各个节点,但在运行一个wordcount实例时出现了错误,错误如下: java.io.IOEx ...

  4. [Lydsy1805月赛]quailty 算法 BZOJ5362

    分析: 题目中描述了一个二分图,让我们求最小权最大匹配,实际上其实是求n个点,在n*(n-1)/2中选n条边的权值和最小,形成一个每个点都有出边的体系,也就是基环树,(证明:因为我们需要二分图最大匹配 ...

  5. Python3入门(七)——模块

    在Python中,一个.py文件就称之为一个模块(Module).(例如main.py就称之为main模块) 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package). ...

  6. C# Language Specification 5.0 (翻译)第六章 转换

    转换使表达式可以当做一个明确的类型来加以处理.转换使得所给定类型的表达式以不同类型来处理,或使得没有某个类型的表达式获得该类型.转换可以是显式或隐式的,而这决定了是否需要显式地强制转换.比方说,从类型 ...

  7. Asp.Net_HttpModule的应用

    IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public voi ...

  8. 初入Installshield2015

    首先我们来认识一下这款软件:这是一款功能强大的软件打包工具,有着许多强大的功能等着我们去发掘,博主也是最近被这个东西搞得有点晕头, 现在就想让读者朋友们更快的接受这个软件. 这个软件需要的破解工具,大 ...

  9. 1.0.0 Unity零基础入门——打砖块

    1)设置好相应场景 2)创建脚本挂载到相应物体上并编写 2.代码 //Shoot - - 控制小球生成与射击 using System.Collections; using System.Collec ...

  10. [T-ARA][너너너][你你你]

    歌词来源:http://music.163.com/#/song?id=22704480 作曲 : Cheang Hai Kee [作曲 : Cheang Hai Kee] 作词 : Cheang H ...