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);

親自試一試