JavaScript:ES至今发展史简说

ECMAScript(简称ES)是JavaScript的标准,它的发展史经历了多个版本的迭代,以下是主要里程碑:

  1. ES1 (1997年6月):首个正式发布的ECMAScript标准,基于当时的JavaScript(由Netscape公司开发)和JScript(由Microsoft公司开发)制定。

  2. ES2 (1998年6月):对ES1进行了一些小的修订和澄清,但未引入重大新功能。

  3. ES3 (1999年12月):增加了大量的新功能和改进,例如正则表达式、try/catch异常处理、new Function()构造函数等,奠定了JavaScript后续发展的基础。

  4. ES4提案(未采纳):2007年提出了一版较大幅度的更新提议,但由于各方意见不统一,未能成为正式标准。

  5. ES5 (2009年12月):加入了严格模式、JSON.stringify和JSON.parse、getters/setters、数组方法扩展(如forEach、map、reduce等)、不可变对象(Object.freeze)、函数.bind方法等重要特性。

  6. ES6/ES2015 (2015年6月):带来了巨大的革新,包括箭头函数、模板字符串、类、模块、解构赋值、for...of循环、let/const块级作用域、Promise、Map/Set、Proxy和Reflect等。

  7. ES7/ES2016 (2016年6月) :引入了Array.prototype.includesExponentiation Operator (**)async/await等特性。

  8. ES2017 (2017年6月) :增添了Object.values/Object.entriesTrailing Commas in Function Parameter Lists and CallsAsync Iterators and Async Generators等。

  9. ES2018 (2018年6月) :新增了Rest/Spread PropertiesAsynchronous IterationObject.getOwnPropertyDescriptorsRegExp Unicode Property EscapesPromise.prototype.finally等特性。

  10. ES2019 (2019年6月) :包含了Optional catch bindingSymbol.prototype.descriptionwell-formed JSON.stringifyArray.prototype.flatArray.prototype.flatMap等新特性。

  11. ES2020 (2020年6月) :增加了BigIntglobalThisPromise.allSettledString.prototype.matchAllDynamic Import等特性。

  12. ES2021 (2021年6月) :包含了Logical Assignment OperatorsString.prototype.replaceAllWeakRefsimport.metaNumeric Separators等特性。

  13. ES2022 (2022年6月) :新增了Class Field DeclarationsTop-Level AwaitPromise.anyString.prototype.replaceAll以及Global This的规范化等特性。

随着每年的推进,ECMAScript都在逐步完善和加强JavaScript语言的能力,以适应现代Web和软件开发的需求。

相关推荐
开发者小天1 小时前
React中使用classnames的案例
前端·react.js·前端框架
我命由我123452 小时前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
重铸码农荣光3 小时前
从零实现一个「就地编辑」组件:深入理解 OOP 封装与复用的艺术
前端·javascript·前端框架
我叫张小白。3 小时前
Vue3 v-model:组件通信的语法糖
开发语言·前端·javascript·vue.js·elementui·前端框架·vue
我叫张小白。3 小时前
Vue3 组件通信:父子组件间的数据传递
前端·javascript·vue.js·前端框架·vue3
编程猪猪侠4 小时前
打造高灵活度动态表单:基于 React + Ant Design 的 useDynamicForm hooks 实现思路
前端·react.js·前端框架
我命由我123454 小时前
微信小程序 - 页面跳转并传递参数(使用路由参数、使用全局变量、使用本地存储、使用路由参数结合本地存储)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
合方圆~小文4 小时前
智能变焦球机:全方位监控升级新标杆
数据库·人工智能·前端框架
光影少年4 小时前
web3学习路线
前端·学习·前端框架·web3
khatung5 小时前
借助Electron打通平台与用户通知(macOS系统)
前端·javascript·vscode·react.js·macos·electron·前端框架