6 điểm bởi GN⁺ 2025-06-30 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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 attributesmô-đ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ư SetRegExp, 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ệuhiệ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

 
smboy86 2025-06-30

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