JavaScript 的未来——值得关注的功能
我们认为很多 Javascript 特性都是理所当然的map
,、、、/ 、三元组......当它们被引入时filter
,每一个都对我们的代码库产生了重大影响,并允许我们编写更干净、通常性能更高的代码。reduce
const
let
让我们简单介绍一下谁决定了 Javascript 的未来,然后介绍一些应该在不久的将来和不久的将来实现的功能。
如果您只对具体功能感兴趣,请点击此处跳至下一部分👇
ECMA?TC39?
1959年,计算机的应用越来越广泛,也带来了许多新的制造商。显而易见的是:他们需要找到一种方法来标准化诸如编程之类的技术操作(但不限于此)。
于是,1960 年 4 月 27 日,欧洲计算机制造商协会 (ECMA) 在布鲁塞尔成立,旨在规范这一混乱局面。
注意:1994 年,ECMA 更名为 ecma international,他们放弃了首字母缩略词,而使用后一个词来表示其国际规模。
ECMA 每年都会选举一位新主席,通常来自计算机科学领域的主要参与者:IBM、HP、西门子、飞利浦等。来自 IBM 的 Jochen Friedrick 目前担任 2018-2019 年期间的主席。
它的结构如下:
ECMA 的全体大会由普通会员组成,是其最高权力机构。大会负责管理 ECMA 的管理层、秘书处和执行委员会。目前,大会由科技界一些巨头组成,包括苹果、Airbnb、Facebook、Netflix 和谷歌。完整会员名单
秘书处的职责是组织和创建处理计算机科学特定方面的技术委员会(TC)和技术组(TG)。
每个 TC 管理着编程语言、产品安全以及 ECMAScript 等事物的发展和未来。
现在您对事物的工作原理已经有了大致的了解,但是新 JS 功能的生命周期是怎样的呢?
TC39 提案
因此,TC39 管理着我们喜爱的(有时是讨厌的)语言的演变,他们所做的几乎所有事情都是开源的,因此查看新提案以及它们随着时间的推移如何演变总是很酷的。
ECMAScript 特性的各个阶段
ECMAScript 的一项新特性会经历 5 个阶段:
- 第 0 阶段(稻草人):允许对规范进行初始输入
- 第一阶段(提案):提出增补理由,描述解决方案的形式并识别潜在挑战
- 第 2 阶段(草案):允许使用形式规范语言精确描述语法和语义
- 第 3 阶段(候选阶段):表示需要进一步完善,需要来自实现和用户的反馈。基本上要求所有语义、语法和 API 都完整描述。
- 第四阶段(完成):表明新增内容已准备好纳入正式的 ECMAScript 标准
您可以在此处获取更多信息并深入了解这些阶段的详细信息。
第 4 阶段特点
让我们来看看第四阶段的具体功能,也就是那些已经完成并将被纳入 ECMAScript 最早的实用标准版本的功能。我还将展示它们当前的浏览器支持情况。
Object.fromEntries
Array.flatMap
MDN文档提到它甚至效率更高一些。
BigInt
globalThis
String.trimStart
&String.trimEnd
Promise.allSettled
第 3 阶段功能
第三阶段的功能近期不会发布,但其中一些功能非常酷,值得一提。
不过我不会提及它们的浏览器支持,因为这与主题无关。
可选链式调用
这个可能是我最喜欢的,再见user && user.name
!
空值合并
你知道 JavaScript 有时会有多奇怪吗?比如当你需要对一个等于 0 的值进行验证,却忘记了它会被视为 false 吗?
你学到了什么新东西吗?哪个功能最让你兴奋?我很乐意在这里或在 Twitter 上@christo_kade听听你的想法!
文章来源:https://dev.to/christopherkade/the-future-of-javascript-features-to-keep-an-eye-on-3d0h