- ECMAScript 2025 đã được phê duyệt thành tiêu chuẩn chính thức vào ngày 25 tháng 6 năm 2025, bổ sung nhiều tính năng mới
- Import attributes và mô-đun JSON cải thiện cách nhập các tài nguyên không phải JavaScript
- Iterator helper methods nâng cao hiệu quả xử lý dữ liệu lớn và nhiều tác vụ lặp khác nhau
- Nhiều phương thức mới được bổ sung cho các đối tượng dựng sẵn quan trọng như Set và RegExp, tăng cường tính tiện dụng
- Hỗ trợ số thực dấu phẩy động 16 bit (float16) mở rộng hiệu năng và khả năng biểu đạt trong xử lý dữ liệu
ECMAScript 2025 được phê duyệt chính thức
- Ngày 25 tháng 6 năm 2025, tại kỳ họp toàn thể lần thứ 129 của Ecma International, ECMAScript 2025 đã được phê duyệt thành tiêu chuẩn chính thức
Các tính năng mới nổi bật
Import attributes và mô-đun JSON
- Import attributes là cú pháp cho phép chỉ định các thuộc tính như kiểu dữ liệu cho các hiện vật không phải JavaScript (tài nguyên được import)
- Lần đầu tiên hỗ trợ chính thức mô-đun JSON, cho phép tải dữ liệu JSON dễ dàng với dạng
import configData from './data.json' with { type: 'json' };
- Có thể chỉ định thuộc tính tương tự trong import động (lời gọi
import())
Iterator helper methods
- Nhiều phương thức helper tương tự phương thức của Array nhưng được tối ưu riêng cho iterator đã được giới thiệu
- Các phương thức hiện có như
filter, map, flatMap, some, every, find, reduce, forEach
- Bao gồm cả các phương thức mới dành riêng cho iterator như
drop, take, toArray
- Có thể sử dụng trực tiếp trên mọi đối tượng iterable như Set, Map
- Không tạo mảng trung gian mà xử lý tuần tự chỉ lượng dữ liệu cần thiết, nên đặc biệt hiệu quả với dữ liệu lớn
Mở rộng phương thức của Set
- Bổ sung các phương thức thao tác hợp, giao, hiệu và hiệu đối xứng (symmetric difference)
Set.prototype.union(other), intersection(other), difference(other), symmetricDifference(other)
- Cung cấp các phương thức kiểm tra tập con/tập cha/rời nhau
isSubsetOf(other), isSupersetOf(other), isDisjointFrom(other)
Cải tiến biểu thức chính quy
RegExp.escape()
- Giới thiệu
RegExp.escape() để tự động escape chuỗi bất kỳ, giúp sử dụng an toàn trong biểu thức chính quy
Cờ nội tuyến trong pattern (Inline flags)
- Giờ đây có thể áp dụng cờ riêng lẻ (
i, u, v.v.) chỉ cho một phần pattern trong biểu thức chính quy
- Ví dụ:
/^x(?i:HELLO)x$/ chỉ khớp phần HELLO mà không phân biệt chữ hoa chữ thường
Hỗ trợ nhóm bắt có tên trùng lặp
- Có thể dùng nhóm bắt cùng tên theo từng nhánh thay thế (branch) trong biểu thức chính quy
- Ví dụ:
/(?<chars>a+)|(?<chars>b+)/v
Promise.try()
- Giới thiệu
Promise.try() để có thể bắt đầu việc xử lý kết hợp mã đồng bộ/bất đồng bộ trong một chuỗi Promise duy nhất
- Trước đây việc xử lý ngoại lệ đồng bộ khá phiền phức, nhưng giờ có thể làm ngắn gọn hơn
Hỗ trợ số thực dấu phẩy động 16 bit (float16)
- Có thể làm tròn số thực dấu phẩy động 16 bit bằng
Math.f16round()
- Bổ sung kiểu
Float16Array cho TypedArray
- Giới thiệu các phương thức
getFloat16(), setFloat16() cho DataView
Tài liệu tham khảo và sách miễn phí
- Cung cấp sách trực tuyến miễn phí “Exploring JavaScript (ES2025 Edition)”
- Giải thích chi tiết về lịch sử và sự phát triển của JavaScript, cũng như các tính năng mới của ECMAScript
- Cung cấp ví dụ sử dụng thực tế và phần giải thích cho từng tính năng mới chính
1 bình luận
Trong dự án trước tôi không hiểu vì sao không thể tải
json,thì ra là vốn dĩ nó không được hỗ trợ.. ghê thật