这是我参与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,具体的内容,会在之后的具体介绍,这里了解个大概就行了。
| Version | Official Name | Description |
|---|---|---|
| ES1 | ECMAScript 1(1997) | First edition |
| ES2 | ECMAScript 2 (1998) | Editorial changes |
| ES3 | ECMAScript 3 (1999) | Added regular expressions & try/catch |
| ES4 | ECMAScript 4 | Not released |
| ES5 | ECMAScript 5 (2009) | Added "strict mode", JSON support, String.trim(), Array.isArray(), & Array iteration methods |
| ES6 | ECMAScript 2015 | Added let and const, default parameter values, Array.find(), & Array.findIndex() |
| ES6 | ECMAScript 2016 | Added exponential operator & Array.prototype.includes |
| ES6 | ECMAScript 2017 | Added string padding, Object.entries, Object.values, async functions, & shared memory |
| ES6 | ECMAScript 2018 | Added rest / spread properties, asynchronous iteration, Promise.finally(), & RegExp |
| ES6 | ECMAScript 2019 | Added Array.prototype.flat, Object.fromEntries , String.prototype.trimStart and so on |
| ES6 | ECMAScript 2020 | Added import.meta, Promise.allSettled, BigInt, Nullish coalescing Operator,Optional Chaining |
| ES6 | ECMAScript 2021 | Added 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提案流程
五个阶段
- Stage 0 - Strawman 提交
- tage 1 - Proposal 审核
- Stage 2 - Draft 草案
- Stage 3 - Candidate 候选
- Stage 4 - Finished 定案
此外,还有一些未被激活的提议 Inactive Proposals。
按照常理,一般进入了Stage 2之后,除非特别情况,基本就稳了,差不多等于收到了Offer了。
在一次谷歌大会,得知,中国有加入TC39委员会,好像有提案权力了。
产线使用
产线使用一般有两种模式
- babel转换
- polyfill
还有babel + polyfill结合的形式。
babel嘛,就是ES代码的转换器,把高版本的ES转换为指定版本的ES的语法, 但是静态方法是没法转换的,所以还要结合polyfill。
更多babel的知识,我们之后会有专门的文章介绍。
小结
今天你收获了吗?
引用
JavaScript Versions: How JavaScript has changed over the years