ECMAScript 2024
Số phiên bản JavaScript
Các phiên bản ECMAScript cũ được đặt tên theo số: ES5 và ES6.
Từ 2016 các phiên bản được đặt tên theo năm: ES2016, 2018, 2020...
Phiên bản thứ 15, ECMAScript 2024, được xuất bản vào tháng 7 năm 2024.
Các tính năng mới trong ES2024
- Object.groupBy()
- Map.groupBy()
- Tạm thời.PlainDate()
- Tạm thời.PlainTime()
- Temporal.PlainMonthDay()
- Temporal.PlainYearMonth()
Cảnh báo
Những tính năng này là tương đối mới.
Các trình duyệt cũ hơn có thể cần mã thay thế (Polyfill)
Đối tượng JavaScript.groupBy()
Ví dụ
// Create an Array
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);
Hãy tự mình thử »Sự miêu tả
Phương thức Object.groupBy()
nhóm các phần tử của một đối tượng theo các giá trị chuỗi được trả về từ hàm gọi lại.
Phương thức Object.groupBy()
không thay đổi đối tượng ban đầu.
Ghi chú:
Các phần tử trong đối tượng gốc và đối tượng được trả về đều giống nhau.
Những thay đổi sẽ được phản ánh trong cả đối tượng gốc và đối tượng được trả về.
Bản đồ JavaScript.groupBy ()
Ví dụ
// Create an Array
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);
Hãy tự mình thử »Sự miêu tả
Phương thức Map.groupBy()
nhóm các phần tử của một đối tượng theo các giá trị chuỗi được trả về từ hàm gọi lại.
Phương thức Map.groupBy()
không thay đổi đối tượng ban đầu.
Ghi chú:
Các phần tử trong đối tượng gốc và đối tượng được trả về đều giống nhau.
Những thay đổi sẽ được phản ánh trong cả đối tượng gốc và đối tượng được trả về.
Object.groupBy() so với Map.groupBy()
Sự khác biệt giữa Object.groupBy() và Map.groupBy() là:
Object.groupBy() nhóm các phần tử thành một đối tượng JavaScript.
Map.groupBy() nhóm các phần tử thành một đối tượng Map.