专栏名称: 前端从进阶到入院
我是 ssh,只想用最简单的方式把原理讲明白。wx:sshsunlight,分享前端的前沿趋势和一些有趣的事情。
目录
相关文章推荐
界面新闻  ·  张兰微博账号直播功能已暂停 ·  3 天前  
罗辑思维  ·  2025年,钱从哪里来? ·  3 天前  
界面新闻  ·  百事在中国赚钱越来越难 ·  4 天前  
51好读  ›  专栏  ›  前端从进阶到入院

ECMAScript 提案,新增了好多东西!

前端从进阶到入院  · 公众号  ·  · 2024-10-31 19:44

正文

本周,Ecma 国际第 39 技术委员会(TC39)的代表们齐聚东京,由索尼互动娱乐公司(Sony Interactive Entertainment)主办,参加一年中举行的六次全体会议之一。该小组负责定义 ECMAScript(JavaScript)和相关标准,本次会议是他们的第 104 次会议。

在这些会议上,代表们通过一个结构化的流程审议推进提案,该流程引导一个想法演变成一个完全定义的功能,包括验收测试和多个实施。该流程包括六个阶段:最初的草创阶段,然后是五个 "成熟 "阶段,每个阶段都需要委员会批准。

多亏 TC39 联席主席罗布-帕尔默(Rob Palmer)在现场提供的 "ECMAScript 兴奋点 "最新消息,我们对当前提案的进展有了大致的了解。议程包括审议推进提案,以及更新和讨论处于不同阶段的其他提案。

Iterator Helpers to Stage 4

Iterator Helpers 提案已进入第 4 阶段,在这一阶段,所提议的功能已完成并准备纳入标准。该提案将不再做任何修改。该提案将 并入 ECMA-262 [1]

迭代器是表示大型或可能是无限可枚举数据集的有用方法。然而,迭代器缺乏辅助工具,无法像数组和其他有限数据结构一样方便使用,这就导致某些问题无法更好地用数组来表示迭代器,或使用库来引入必要的辅助工具。该提案在迭代器原型上引入了一系列新方法,以实现迭代器的一般使用和消耗。

Import Attributes & JSON Modules to Stage 4

导入属性和 JSON 模块提案已进入第 4 阶段,将被纳入标准。

导入属性(Import Attributes)提案的前身是导入断言(Import Assertions),它为模块导入语句添加了内联语法,以便在模块指定符旁边传递更多信息。此类属性的最初应用是在 JavaScript 环境中以通用方式支持更多类型的模块,首先从 JSON 模块 [2] 开始。

Iterator Sequencing to Stage 2.7

迭代器排序已进入第 2.7 阶段,原则上已获批准,正在接受测试、实施或使用验证。该提案允许通过对现有迭代器排序来创建迭代器。

Regular Expression Modifiers to Stage 4

正则表达式修饰符(Regular Expression Modifiers)已进入第 4 阶段,并将被添加到标准中。它允许你更改子表达式中的活动正则表达式标志。

Structs & Shared Structs to Stage 2

Structs 和 Shared Structs 已进入第 2 阶段,委员会已选择了一个首选解决方案或解决方案空间,但该设计只是一个草案,仍有可能发生重大变化。该提案旨在引入四种共享内存特性,从而能够在 JavaScript 和网络中编写新的、高性能的应用程序,并为开发人员提供一个替代 class es 的选择,即更高的性能上限和静态可分析性(static analyzability)而非灵活性。

Math.sumPrecise to Stage 3

Math.sumPrecise [3] 提议已进入第 3 阶段,正式被推荐实施。该提案建议在 JavaScript 中添加一个求多个值之和的方法。

Extractors to Stage 2

提取器已进入第二阶段,委员会已选择了首选解决方案或解决方案空间,但该设计只是一个草案,仍有可能发生重大变化。该提案将在 ECMAScript 中引入提取器(又称 "提取器对象"),它将增强 BindingPattern 和 AssignmentPattern 的语法,以允许新的重组形式。

Promise.try to Stage 4

Promise.try 已进入第 4 阶段,并将作为标准的一部分。该提案在 JavaScript 中添加了一项名为 Promise.try 的新功能。它允许开发人员将函数封装在 Promise 中,以改进错误处理,并提供一种更直接的方法来启动 promise 链。该方法可确保立即执行传递给它的函数并返回一个 Promise,从而更容易统一处理同步异常和异步操作。

Atomics.pause to Stage 3

Atomics.pause 已进入第三阶段,正式被推荐实施:

为获得更好的等待效果,请添加 Atomics.pause(N) 。它会在很短的时间内执行有限时间等待,运行时可以通过适当的 CPU 提示来实现。除了计时外,它没有其他可观察到的行为。

Atomics.wait 不同的是,由于它不会阻塞,因此主线程和 worker 线程都可以调用它。

****在执行过程中,应根据底层架构的最佳实践,使用 CPU yielding 来实现短暂的等待。非负整数参数 N 控制暂停时间, N 值越大,暂停时间越长。当微等待本身处于循环中时,它可用于实现回退算法。

Error.isError to Stage 2.7

Error.isError 已推进到 2.7 阶段,原则上已获批准,但仍在测试、实现或使用验证中。该提案为开发人员引入了一种新方法,用于测试某个值是否为错误实例。

Array.zip for Stage 1, or 2, or 2.7

Array.zip [4] 提议将于明天讨论,预计将推进到第 1、2 或 2.7 阶段。该提案将在 Array 构造函数中添加 Array.zip Array.zipKeyed 静态方法。







请到「今天看啥」查看全文