这篇 InfoWorld 的文章题为 《ECMAScript 2025: The best new features in JavaScript》,作者是 Matthew Tyson,发表于 2025 年 7 月 16 日,主要介绍了 ECMAScript 2025(JavaScript 新标准) 的主要更新与用途。以下是要点总结: 🧩 一、总体概览 ECMAScript 2025 带来了多个实用且性能优化的新特性,重点在:

更强的函数式编程能力

改进的集合操作

更安全的正则表达式

更优的 Promise 错误处理

新的二进制数据类型支持

🚀 二、主要新特性一览

  1. 全新的 Iterator 全局对象 新增了内建的 Iterator 全局对象,可用于包装可迭代对象(如数组、生成器)。

提供了懒加载(lazy evaluation)的函数式操作,如 map()、filter()、take()。

优点:

性能更好:避免创建中间数组。

统一 API:无论是 Array 还是 Generator,都能使用同一操作方式。

Iterator.from(["Plato", "Lao Tzu"]) .map(x => x.length) .filter(x => x < 10) .take(2) .toArray(); // [5, 7] 2. Set 新增集合操作方法 新增了与数学集合类似的操作:

intersection:交集

difference:差集

symmetricDifference:对称差集

isSubsetOf、isSupersetOf、isDisjointFrom:集合关系检查

set1.intersection(set2); set1.difference(set2); set1.symmetricDifference(set2); 3. 直接导入 JSON 模块 现在可以直接从文件导入 JSON,无需构建步骤:

import appConfig from './data.json' with { type: 'json' }; with { type: 'json' } 避免误解为 JavaScript 模块。

  1. 正则表达式改进 新增 RegExp.escape():防止用户输入中的特殊字符被误解析,避免注入攻击。

支持局部启用/禁用标志(flags),可以在正则内部控制大小写、全局等选项:

/(??i:Love)|(??-i:Day)/; 让不同子表达式独立使用不同匹配模式。

  1. Promise.try() 用于统一同步与异步错误的捕获。

可替代 try {} 块,让所有错误都由 .catch() 处理:

Promise.try(() => mayThrow()) .then(res => ...) .catch(err => console.error(err)); 自动处理函数是否返回 Promise 的情况。

  1. 新增 Float16Array 类型 新的 16 位浮点型数组类型,适用于高性能计算与机器学习场景。

同时新增:

DataView.prototype.getFloat16() / setFloat16()

Math.f16round()

提升存储密度、减少内存占用。

🧠 三、总结 ECMAScript 2025 的更新方向是 性能优化 + 安全增强 + 统一接口。

强调函数式懒计算(Iterators)、安全性(RegExp.escape)、开发便捷性(JSON import)与机器学习适配性(Float16Array)。

这些特性让 JavaScript 更加现代化,接近 Python 与 Java 等语言在可读性和性能上的平衡