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}
];
// 回调函数用于分组元素
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// 按数量分组
const result = Object.groupBy(fruits, myCallback);
自己试试 »
描述
Object.groupBy()
方法根据回调函数返回的字符串值对对象中的元素进行分组。
Object.groupBy()
方法不会改变原始对象。
注意
原始对象和返回对象中的元素相同。
更改将反映在原始对象和返回对象中。
JavaScript Map.groupBy()
示例
// 创建一个数组
const fruits = [
{name:"apples", quantity:300},
{name:"bananas", quantity:500},
{name:"oranges", quantity:200},
{name:"kiwi", quantity:150}
];
// 回调函数用于分组元素
function myCallback({ quantity }) {
return quantity > 200 ? "ok" : "low";
}
// 按数量分组
const result = Map.groupBy(fruits, myCallback);
自己试试 »
描述
Map.groupBy()
方法根据回调函数返回的字符串值对对象中的元素进行分组。
Map.groupBy()
方法不会改变原始对象。
注意
原始对象和返回对象中的元素相同。
更改将反映在原始对象和返回对象中。
Object.groupBy() 与 Map.groupBy()
Object.groupBy() 和 Map.groupBy() 之间的区别是
Object.groupBy() 将元素分组到 JavaScript 对象中。
Map.groupBy() 将元素分组到 Map 对象中。