การจัดกลุ่ม 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 ผ่าน [^···]

ความสามารถใหม่ของ 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

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 มีอะไรบ้าง?

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น