ES2015 ES2016 ES2017 Javascript的关系是什么?

参考:ECMAScript6简介

1、概括

  1. ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。(ECMAScript 方言还有 JScript 和 ActionScript)
  2. ES5指ECMAScript 5.1版,ES6指的是javascript语言的下一个版本
  3. ECMAScript 2015是ES6的第一个版本,简称ES2015,在2015年正式发布
  4. 现在ES6主要是泛指“下一代Javascript语言”,涵盖了ES2015,ES2016,ES2017等等,而ES2015是正式名称

2、如何将ES6转换为ES5代码

利用Babel这个ES6转码器。,但是Babel只默认转换新的Javascript语法,而不转换新的API,比如Iterator、Generator、Set、Map、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。此时可以使用

  • core-js
  • regenerator-runtime
    为当前环境提供一个垫片

专业术语:

  • polyfill:一个polyfill是一段代码(或者插件),提供了那些开发者们希望浏览器原生提供支持的功能.
  • shim(shiv): 一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现
  • 一个polyfill就是一个用在浏览器API上的shim
  • 垫片:在低级环境中用高级语法时,在低级环境中手动实现的高级功能,模拟高级环境

版权声明:本文为weixin_43912756原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。