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. linux 创建守护进程的相关知识

    linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...

  2. jquery选择器练习

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  3. ADO.NET TransactionScope使用说明(转载)

    TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间.它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物.使用之前必须添 ...

  4. 线程池原理及python实现

    为什么需要线程池 目前的大多数网络服务器,包括Web服务器.Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短. 传统多线程方案中我们采 ...

  5. 20155202张旭 Exp3 免杀原理与实践

    20155202张旭 Exp3 免杀原理与实践 AV厂商检测恶意软件的方式主流的就三种: 基于特征码的检测 启发式恶意软件检测 基于行为的恶意软件检测 我们要做的就是让我们的恶意软件没法被这三种方式找 ...

  6. 20155320 Exp7 网络欺诈防范

    20155320 Exp7 网络欺诈防范 [基础问题回答] (1)通常在什么场景下容易受到DNS spoof攻击 乱点链接或者连公共场合的免费WiFi也容易受到攻击,尤其是那种不需要输入密码直接就可以 ...

  7. python装饰器 练习

    用类作为装饰器 练习一 最初代码 class bol(object): def __init__(self, func): self.func = func def __call__(self): r ...

  8. 搭建 Guacamole 并解决各种坑和创建不了虚拟驱动器导致无法实现文件传输的方法

    系统类型版本:centos7 64位 结果:最终跑通了项目并且实现了虚拟驱动器的文件传输功能,添加了中文支持 反思总结: 先查看官方文档的Q&A,找找有没有类似的错误,然后如果有错误日志或者现 ...

  9. Java开源博客My-Blog之docker容器组件化修改

    前言 5月13号上线了自己的个人博客,<Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦>,紧接着也在github上开源了博客的代码,到现在为 ...

  10. grunt-inline:一个资源内嵌插件

    一.插件简介 将引用的外部资源,如js.css.img等,内嵌到引用它们的文件里去. 二.使用场景 在项目中,出于某些原因,有的时候我们需要将一些资源,比如js脚本内嵌到页面中去.比如我们的html页 ...