ES15 (ES2024)新特性
文章类型:Javascript
发布者:hp
发布时间:2025-03-12
1. 原生数组分组方法
新增 Object.groupBy() 和 Map.groupBy() 方法,实现数组元素的快速分组,替代传统 Lodash 库的依赖
const fruits = [
{ name: 'apple', color: 'red' },
{ name: 'banana', color: 'yellow' }
];
const grouped = Object.groupBy(fruits, fruit => fruit.color);
// 输出: { 'red': [ { name: 'apple', ... } ], 'yellow': [ { name: 'banana', ... } ] }
2. Promise 构造增强
Promise.withResolvers() 直接返回 Promise 实例及其关联的 resolve 和 reject 方法,简化异步逻辑控制
const { promise, resolve, reject } = Promise.withResolvers();
setTimeout(() => resolve('成功'), 1000);
promise.then(console.log); // 输出: "成功"
3. 日期时间处理(Temporal API)
引入 Temporal 对象,提供更精确的日期时间操作(如时区转换、日历计算),替代传统 Date 对象的局限性
const date = Temporal.PlainDate.from({ year: 2025, month: 2, day: 26 });
console.log(date.toString()); // 输出: "2025-02-26"
4. 正则表达式改进
支持更复杂的具名组匹配和模式修饰符(如 /v 标志),提升正则表达式的可读性和灵活性
const regex = /(?<year>\d{4})-(?<month>\d{2})/v;
const match = regex.exec('2025-02');
console.log(match.groups.year); // 输出: "2025"
1:优先采用:Object.groupBy() 替代 Lodash 以精简依
2:性能优化:Temporal API 处理跨时区场景更高效
3:慎用场景:Promise.withResolvers() 需注意内存泄漏风险