การจัดกลุ่ม iterable แบบซิงโครนัส
Map.groupBy()ใช้จัดกลุ่มรายการใน iterable ให้เป็นรายการใน Map โดยใช้คีย์ที่ callback ส่งกลับมาObject.groupBy()สร้างอ็อบเจ็กต์แทน Map
Promise.withResolvers()
- เพิ่มวิธีใหม่ในการสร้าง Promise ที่ต้องการ resolve
แฟลกของ regular expression /v
- แฟลกใหม่ของ regular expression
/v(.unicodeSets) เปิดใช้งานความสามารถต่อไปนี้:- escape สำหรับคุณสมบัติของสตริง Unicode (
Emojiเป็นคุณสมบัติของ code point Unicode ผ่าน/uและRGI_Emojiเป็นคุณสมบัติใหม่ของสตริง Unicode ผ่าน/v) - string literal ภายใน character class ผ่าน
\q{} - การดำเนินการแบบเซตสำหรับ character class
- การจับคู่ที่ดีขึ้นเมื่อมีการปฏิเสธ Unicode property escape ด้วย
/iผ่าน[^···]
- escape สำหรับคุณสมบัติของสตริง Unicode (
ความสามารถใหม่ของ ArrayBuffer และ SharedArrayBuffer
- ArrayBuffer:
- ปรับขนาดได้โดยตรง
- เพิ่มเมธอด
.transfer()สำหรับการถ่ายโอน
- SharedArrayBuffer:
- ขยายขนาดได้ แต่ย่อขนาดไม่ได้
- ไม่สามารถถ่ายโอนได้ จึงไม่มีเมธอด
.transfer()แบบที่ArrayBuffersมี
การตรวจสอบว่าสตริงเป็น well-formed หรือไม่
- มีเมธอดใหม่ 2 ตัวสำหรับตรวจสอบว่าสตริง (UTF-16) เป็น well-formed หรือไม่:
- เมธอดของ String
.isWellFormed()ใช้ตรวจสอบว่าสตริง JavaScript เป็น well-formed และไม่มี lone surrogate หรือไม่ - เมธอดของ String
.toWellFormed()จะคืนสำเนาของตัวรับที่แทนที่ lone surrogate แต่ละตัวด้วย code unit 0xFFFD (ซึ่งแทน code point ตัวเลขเดียวกันที่มีชื่อว่า "อักขระทดแทน") ดังนั้นผลลัพธ์จึงเป็น well-formed
- เมธอดของ String
Atomics.waitAsync()
Atomics.waitAsync()ช่วยให้สามารถรอการเปลี่ยนแปลงของหน่วยความจำที่ใช้ร่วมกันได้แบบอะซิงโครนัส
หนังสือฟรีเกี่ยวกับ ECMAScript 2024
- "Exploring JavaScript (ES2024 Edition)" สามารถอ่านออนไลน์ได้ฟรี โดยมี 2 บทที่เกี่ยวข้องเป็นพิเศษ
- "History and evolution of JavaScript": ECMAScript เทียบกับ JavaScript, TC39, กระบวนการของ TC39, ข้อเสนอ ECMAScript ฯลฯ
- "New JavaScript features": ฟีเจอร์ใหม่ของแต่ละเวอร์ชัน ECMAScript มีอะไรบ้าง?
ยังไม่มีความคิดเห็น