ECMAScript 2024
JavaScript 版本号
旧的 ECMAScript 版本使用数字命名:ES5 和 ES6。
从 2016 年起,版本按年份命名:ES2016、2018、2020……
第 15 版 ECMAScript 2024 于 2024 年 7 月发布。
ES2024 新特性
- Object.groupBy()
- Map.groupBy()
- Temporal.PlainDate()
- Temporal.PlainTime()
- Temporal.PlainMonthDay()
- Temporal.PlainYearMonth()
警告
这些功能相对较新。
旧版浏览器可能需要替代代码(Polyfill)。
JavaScript Object.groupBy()
示例
// 创建一个数组
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// Callback function to Group Elements
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// Group by Quantity
const result = Object.groupBy(fruits, myCallback);
自己动手试一试 »
描述
The Object.groupBy()
方法根据回调函数返回的字符串值对对象的元素进行分组。
The Object.groupBy()
方法不会更改原始对象。
注意
原始对象中的元素和返回对象中的元素是相同的。
更改将同时反映在原始对象和返回对象中。
JavaScript Map.groupBy()
示例
// 创建一个数组
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// Callback function to Group Elements
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// Group by Quantity
const result = Map.groupBy(fruits, myCallback);
自己动手试一试 »
描述
Map.groupBy()
方法根据回调函数返回的字符串值对对象的元素进行分组。
Map.groupBy()
方法不会更改原始对象。
注意
原始对象中的元素和返回对象中的元素是相同的。
更改将同时反映在原始对象和返回对象中。
Object.groupBy() vs Map.groupBy()
Object.groupBy() 和 Map.groupBy() 之间的区别是
Object.groupBy() 将元素分组到 JavaScript 对象中。
Map.groupBy() 将元素分组到 Map 对象中。