ECMAScript 6 简介

206 阅读2分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

前言

ECMAScript 6.0 简称ES6 , 是 JavaScript 语言的新一代的标准,于在 2015 年 6 月发布,正式名称就是《ECMAScript 2015 标准》。

一般情况,ES6 一个泛指, 5.1版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017、ES2018、ES2019、ES2020、ES2021 等等

我们一起来学习吧!

ES历史

参考 JavaScript Versions: How JavaScript has changed over the years,补充了 ES2019, ES2020, ES2021,具体的内容,会在之后的具体介绍,这里了解个大概就行了。

VersionOfficial NameDescription
ES1ECMAScript 1(1997)First edition
ES2ECMAScript 2 (1998)Editorial changes
ES3ECMAScript 3 (1999)Added regular expressions & try/catch
ES4ECMAScript 4Not released
ES5ECMAScript 5 (2009)Added "strict mode", JSON support, String.trim(), Array.isArray(), & Array iteration methods
ES6ECMAScript 2015Added let and const, default parameter values, Array.find(), & Array.findIndex()
ES6ECMAScript 2016Added exponential operator & Array.prototype.includes
ES6ECMAScript 2017Added string padding, Object.entries, Object.values, async functions, & shared memory
ES6ECMAScript 2018Added rest / spread properties, asynchronous iteration, Promise.finally(), & RegExp
ES6ECMAScript 2019Added Array.prototype.flat, Object.fromEntries , String.prototype.trimStart and so on
ES6ECMAScript 2020Added import.meta, Promise.allSettled, BigInt, Nullish coalescing Operator,Optional Chaining
ES6ECMAScript 2021Added String.prototype.replaceAll, Promise.any, WeakRefs, Logical Assignment Operators, Numeric separators

JavaScript 从1997发展到今天,已经24年了,ES3 到 ES5花费了10年,也就是这期间jquery横空出世,统一前端数10年。

可以看到ES5到ES6, 居然花了5年,而这个时候是互联网飞速发展的时期, ES6一出,翻天覆地的变化。 Jser走路的姿势都不一样了,哈哈。

ES提案流程

五个阶段

  1. Stage 0 - Strawman 提交
  2. tage 1 - Proposal 审核
  3. Stage 2 - Draft 草案
  4. Stage 3 - Candidate 候选
  5. Stage 4 - Finished 定案

此外,还有一些未被激活的提议 Inactive Proposals

按照常理,一般进入了Stage 2之后,除非特别情况,基本就稳了,差不多等于收到了Offer了。

在一次谷歌大会,得知,中国有加入TC39委员会,好像有提案权力了。

产线使用

产线使用一般有两种模式

  1. babel转换
  2. polyfill

还有babel + polyfill结合的形式。

babel嘛,就是ES代码的转换器,把高版本的ES转换为指定版本的ES的语法, 但是静态方法是没法转换的,所以还要结合polyfill。

更多babel的知识,我们之后会有专门的文章介绍。

小结

今天你收获了吗?

引用

JavaScript Versions: How JavaScript has changed over the years