ECMAScript 2024

JavaScript 版本号

早期的 ECMAScript 版本以数字命名:ES5 和 ES6。

从 2016 年开始,版本以年份命名:ES2016、2018、2020...

第 15 版,ECMAScript 2024,于 2024 年 7 月发布。

ES2024 中的新特性

警告

这些功能相对较新。

较旧的浏览器可能需要替代代码(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() vs Map.groupBy()

Object.groupBy()Map.groupBy() 的区别是:

Object.groupBy() 将元素分组到一个 JavaScript 对象中。

Map.groupBy() 将元素分组到一个 Map 对象中。

JavaScript Temporal.PlainDate()

实例

const date = Temporal.PlainDate(2024, 5, 1);

亲自试一试

JavaScript Temporal.PlainTime()

实例

const date = new Temporal.PlainTime(10, 30);

亲自试一试

JavaScript Temporal.PlainMonthDay()

实例

const date = new Temporal.PlainMonthDay(5, 1);

亲自试一试

JavaScript Temporal.PlainYearMonth()

实例

const date = new Temporal.PlainYearMonth(2024, 5);

亲自试一试