JS的历史
JS问世
1990 万维网
World Wide Wed问世1994 第一个面向大众的浏览器
Netscape Navigator问世1994-1995 Navigator问世后,发现需要一种脚本语言,比如用户输入检查等,应该在客户端就完成,不应该进行(当时)昂贵的网络通信
1995 程序员 Bendan Eich 10天设计开发了初代 JavaScript
1996 Navigator 2.0 正式内置 JS
ECMAScript ?
ECMA 全称 Euopean Compute Manufacturers Association,它是一个 国际性、非政府、非营利性的标准组织, 与 ISO 密切合作,许多 ECMA 标准被采纳为 ISO 标准。
因为微软模仿JS开发了一个JSciprt,网景直接将JS交给国际组织ECMA,捍卫主权。
ECMA 规定了浏览器脚本语言标准,并将语言称为 ECMAScript,所以说,ECMAScript是标准,JavaScript是实现。后来的ES6+, 就是ECMAScript的新标准。
ES的版本迭代
ECMAScript 1 (1997) 首个版本,定义了基本的语法和功能。
ECMAScript 2 (1998) 主要是格式修正,与 ISO/IEC 标准保持一致。
ECMAScript 3 (1999) 引入了正则表达式、异常处理、更强的作用域链以及格式化输出等功能。
ECMAScript 4 由于复杂性争议,该版本被放弃,但部分特性成为后续版本的基础。
ECMAScript 5 (2009) 新增严格模式(strict mode)、JSON 支持、getter 和 setter,以及数组方法如 forEach 和 map。
ECMAScript 6 (2015) 又称 ES6 或 ES2015,是一次重大更新。引入了类、模块、箭头函数、Promise、模板字符串、解构- 赋值、let 和 const 等。
ECMAScript 7 (2016) 新增指数运算符(**)和 Array.prototype.includes 方法。
ECMAScript 8 (2017) 引入了 async/await,提升了异步编程的可读性。
ECMAScript 9 (2018) 支持异步迭代器、Promise.finally 和 rest/spread 属性。
ECMAScript 10 (2019) 新增 Array.prototype.flat 和 flatMap,以及 Object.fromEntries。
ECMAScript 11 (2020) 引入链判断运算符(?.)、空值合并运算符(??)、Promise.allSettled 和 BigInt。
ECMAScript 12 (2021) 新增 replaceAll 方法、Promise.any 和逻辑赋值运算符(&&=, ||=, ??=)。
ECMAScript 13 (2022) 支持顶层 await,新增数组方法 at 和 Object.hasOwn。
ECMAScript 14 (2023) 新增数组方法 findLast 和 toSorted,支持 Symbol 作为 WeakMap 的键。
...