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. 虚拟机上不能使用CUDA

    虚拟机的显卡是虚拟的,不能使用CUDA(至少很难),搞了一天才晃过神来: lspci 查找目前主机的硬件配备 用 grep -i 进行大小写无关的搜索

  2. 解决php的交互式命令行不能正常启动的问题兼介绍psysh

    今天在自己的mac电脑上试着启动php的交互式命令行,发现敲下命令后一直卡在提示进入的地方,但没有出现已经进入的提示符,百度了下应该是与readline有关. 于是安装php的readline扩展,在 ...

  3. python基础1之python介绍、安装、变量和字符编码、数据类型、输入输出、数据运算、循环

    开启python之路 内容概要: 一.python介绍 二.安装 三.第一个python程序 四.变量和字符编码 五.用户输入 六.数据类型 七.一切皆对象 八.数据运算 九.if else 流程判断 ...

  4. jsp页面中日期的格式化

            在一次开发中,由于数据库中生日采用的是datetime的数据类型,因此数据库中数据格式为:2017-07-11 00:00:00. 但是,编辑页面中回显生日肯定是不可以显示出时分秒的, ...

  5. mybatis 异常 too many connections 解决方案 mysql

    参考: https://blog.csdn.net/u011628250/article/details/54017481 https://www.cnblogs.com/baby123/p/5710 ...

  6. Scrapy爬虫入门实例

    网上关于Scracpy的讲述已经非常丰富了,而且还有大神翻译的官方文档,我就不重复造轮子了,自己写了一个小爬虫,遇到不少坑,也学到不少东西,在这里给大家分享一下,自己也做个备忘录. 主要功能就是爬取c ...

  7. Flask学习-Flask app接受第一个HTTP请求

    一.__call__() 在Flask app启动后,一旦uwsgi收到来自web server的请求,就会调用后端app,其实此时就是调用app的__call__(environ,start_res ...

  8. centos7 部署mysql-5.7.20

    一.系统环境 系统:CentOS Linux release 7.5 mysqlb进制包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 1)依赖包安装 yum ...

  9. 2-Eighteenth Scrum Meeting-20151218

    任务安排 成员 今日完成 明日任务 闫昊 写完学习进度记录的数据库操作  写完学习进度记录的数据库操作 唐彬 编写与服务器交互的代码 和服务器老师交流讨论区后台接口 史烨轩 获取视频url  尝试使用 ...

  10. 【Beta阶段】第四次Scrum Meeting!

    每日任务内容: 本次会议为第四次Scrum Meeting会议~ 由于本次会议女生今日因身体不适未参与会议,故在宿舍楼开会,大家集会15分钟. 队员 昨日完成任务 明日要完成任务 刘乾 #130 学习 ...