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 物件中。