# 1. 前言

# ECMAScript历史版本

  • 1997年06月 第一版 ES1 本质上与javascript 1.1相同,删除了所有针对浏览器的代码并作了一些较小的改动:要求支持Unicode标准等。
  • 1998年06月 第二版 ES2 这一版的内容更新是为了与ISO/IEC-16262保持严格一致,没有作任何新增、修改或删节处理。
  • 1999年12月 第三版 ES3 新增正则表达式、新控制语句、try-catch异常处理支持,修改了字符处理、错误定义和数值输出等内容。
  • ECMAScript沉寂多年,直到Ajax流行起来后,标准工作才再次起步。
  • 2008年07月 第四版 ES4 发布前被废弃,由于改动较大,各方有分歧,不怎么愉快,导致难产,详情参见 ES4相关历史 (opens new window)
  • 2009年12月 第五版 ES5 澄清第三版中的歧义,新增原生JSON对象、继承的方法、高级属性的定义以及引入严格模式。
  • 2015年06月 第六版 ES6 官方名称为ECMAScript2015,之后都会这样命名,新增了许多特性,如Maps、Sets、Promise、生成器(Generators)等。
  • 2016年06月 第七版 ES2016 新增两个特性: Array.prototype.includes和取幂运算符 官方文档 (opens new window)
  • 2017年06月 第八版 ES2017 新增async/await等
  • 2018年06月 第九版 ES2018 新增共享内存和原子性、异步循环等 官方文档 (opens new window)

# 相关资料

  • ES2016, 2017和2018到底有哪些新功能?https://mp.weixin.qq.com/s/A4Z8D3IlSsw1XnP3wFbJHg
  • ES2016与ES2017相关 http://www.css88.com/archives/7753
  • 阮一峰的 EMCAScript 6 入门(第三版) http://es6.ruanyifeng.com/#README
  • ECMAScript各版本及特性 https://segmentfault.com/a/1190000003493604
  • 关于ES5、ES6及之后版本的兼容性 http://kangax.github.io/compat-table/es6/

# 关于兼容性

  • IE11支持ES5,基本不支持ES6(只支持let、const等少量ES6特性),低版本的IE8、9等使用ES6语法需要用Babel插件
  • Chrome、Firfox、safari、Edge对ES6支持很好。
  • 最新兼容性在线查看地址: https://kangax.github.io/compat-table/es6/
上次更新: 2020/10/28 18:32:03