重学JS-1.2-知识点:ECMAScript简介

2023-04-22 16:12:27 浏览数 (2)


前端开发的第三年,突然发现,对于JS,我还有很多不懂的地方,趁着最近需求少,不如静下心来,从头把JS再学一遍,查漏补缺。 本系列以廖雪峰的《JavaScript教程》和《现代 JavaScript 教程》两个电子书作为线索,对其中需要进一步了解的知识,会阅读更多的文章,并作为扩展知识记录下来。 新手建议先阅读上面两个电子书,本系列更适合用来复习旧知识查漏补缺

ECMAScript和JavaScript是什么关系?

ECMAScript是一种语言标准,而JavaScript是Mozilla或其他组织对ECMAScript标准的一种实现。

TC39

(Technical Committee 39),ESMA的第39号技术专家委员会,负责制订ECMAScript标准,成员包括Microsoft、Mozilla、Google等大公司。

ECMAScript 1

1997年发布第一个ECMAScript标准。

ECMAScript 5

2009年发布,修复了旧版本一些不完善的特性,增加"strict mode,"(严格模式)。

ECMAScript 2015(ES6)

JavaScript新语法、新纪元的代名词。

从这一版本开始,TC39委员会决定每年发布一个ECMAScript 的版本。

ES6的具体特性参考廖雪峰ES6入门教程。

从ES2015开始,各个版本的特性

名称

特性

ECMAScript2015

let & const、 解构赋值、箭头函数、 Array新特性、 Function新特性、 Object新特性、 String新特性、 Number新特性、 Math新特性、 Class、新增数据类型( Symbol、 Set、 Map)、 Proxy 、Reflect、 Promise、 Generator、 Iterator、 Module模块化

ECMAScript2016

Array.prototype.includes、**幂运算符

ECMAScript2017

async/await、 String.prototype.padStart、String.prototype.padEnd、 Object.values、 Object.entries、Object.getOwnPropertyDescriptors、尾后逗号

ECMAScript2018

for await...of、Symble.asyncIterator、 Promise.prototype.finally、 正则新增:具名组匹配、后行断言、dotAll、unicode转义、对象支持rest&spread操作符

ECMAScript2019

String.prototype.trimStart、String.prototype.trimEnd、 Array.prototype.flat、Array.prototype.flatMap、 Object.fromEntries、 可选的Catch Binding、 Symble.prototype.description 、 JSON superset & stringify()增强

ECMAScript2020

String.prototype.matchAll、 Dynamic import、 BigInt、 Promis.allSellted、 globalThis、可选链(Optional chaining)、 空值合并(Nullish coalescing )

ECMAScript2021

String.prototype.replaceAll、逻辑赋值运算符(Logical Assignment Operator)、 数字分隔符(Numeric Separators)、Promise.any、 WeakRef

参考文章

维基百科-ECMAScript

ES6、ES7 ~ ES2021 都更新了啥?

廖雪峰ES6入门教程

0 人点赞