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. 带你看懂大数据采集引擎之Flume&采集目录中的日志

    一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...

  2. BZOJ 3812 : 主旋律

    非常神仙的状压DP+容斥原理. 首先,给出一个状压方程:$f_S$表示点集为$S$的情况下,整个点集构成强连通图的方案数. 这个DP方程还是比较容易想到的,但是没有办法正常转移,考虑通过容斥原理进行转 ...

  3. Exp7:网络欺诈防范

    Exp7:网络欺诈防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 答:同一局域网下,以及各种公共网络. 在日常生活工作中如何防范以上两攻击方法? 答: 使用最新版本的DNS服务器 ...

  4. [Oracle][Corruption]究竟哪些检查影响到 V$DATABASE_BLOCK_CORRUPTION

    根据 471716.1,11g 之后,下列动作如果遇到坏块,都会输出记录到  V$DATABASE_BLOCK_CORRUPTION. -  Analyze table .. Validate str ...

  5. vim打开多窗口、多文件之间的切换

    打开多个文件: 一.vim还没有启动的时候: 1.在终端里输入  vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :e file 可以再打开一 ...

  6. 分布式事务的CAP理论 与BASE理论

    CAP理论 一个经典的分布式系统理论.CAP理论告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency).可用性(A:Availability)和分区容错性(P:Partition ...

  7. SpringMVC源码总结

    SpringMVC源码总结 http://blog.csdn.net/z69183787/article/details/52816927

  8. NetBeans的(默认)快捷键

    NetBeans的(默认)快捷键 1.完成代码:ctrl+\ //任何地方按下此组合键,均会提示相应的参考字段:  2.错误提示:alt + enter //顾名思义,当系统报错时,按下此组合可以查看 ...

  9. swift学习:第一个swift ui程序

    最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

  10. nginx 新增域名访问

    nginx 新增域名访问 1.申请阿里云域名 2.指向阿里云主机 3.配置nginx文件 server { listen 80; server_name zlx.test.com; set $root ...