1. อัปเกรด เป็น V8 Engine เป็นเวอร์ชัน 13.6 มีฟีเจอร์สำคัญ ดังนี้
– RegExp.escape: ช่วยให้การ escape regular expression ง่ายและปลอดภัยขึ้น ไม่ต้องเขียนฟังก์ชันเองอีกต่อไป
– Float16Array: Typed array สำหรับจัดการตัวเลขแบบ 16-bit float มีประโยชน์สำหรับงานที่ต้องการประสิทธิภาพ เช่น กราฟิก หรือ ML
– Atomics.pause: หยุด thread ใน Atomics ได้ มีประโยชน์สำหรับงานที่เกี่ยวกับ concurrency ระดับต่ำใน Workers
– WebAssembly Memory64: รองรับหน่วยความจำ 64 บิตใน WebAssembly ทำให้ประมวลผลงานหนักได้มากขึ้น
– await using: ใช้จัดการ resource เช่น ไฟล์ หรือ socket ได้อัตโนมัติเมื่อไม่ใช้งานแล้ว (ดู Explicit Resource Management)
– Error.isError: ช่วยตรวจสอบว่าวัตถุนั้นเป็น Error object จริง ๆ หรือไม่ ใช้งานง่ายขึ้นและปลอดภัยขึ้น
.
2. Permission Model แบบทดลอง (Experimental)
Permission Model ที่เปิดตัวครั้งแรกใน Node.js 20 ตอนนี้เปลี่ยน flag CLI จาก –experimental-permission เป็น –permission แล้ว เป็นสัญญาณว่าฟีเจอร์นี้เริ่มเสถียรมากขึ้น ช่วยเพิ่มความปลอดภัย โดยสามารถจำกัดสิ่งที่ Node.js สามารถเข้าถึงได้ เช่น ไฟล์หรือเครือข่าย เหมาะสำหรับแอป CLI หรือระบบ sandbox (คล้าย Deno)
.
3. URLPattern ใช้งานได้เป็น global แล้ว
API สำหรับจับ URL pattern เช่น routing ตอนนี้สามารถใช้ได้โดยไม่ต้อง import แล้ว (เหมือนกับ URL)
const pattern = new URLPattern({ pathname: ‘/users/:id’ });
เหมาะกับงาน routing หรือจับ URL โดยไม่ต้องใช้ regex เขียนง่าย อ่านง่าย ใช้งานสะดวก
.
4. Built-in Test Runner ดีขึ้น ก่อน Node.js 24 เราต้อง await subtest เอง ไม่งั้นมันอาจยังไม่ทำงานก่อน test จบ
await t.test(‘subtest’, () => { … });
หลัง Node.js 24: ไม่ต้อง await ก็ได้ Subtest จะรันให้ครบก่อนออกจากโปรแกรม
t.test(‘subtest’, () => { … });
เขียนเทสต์ง่ายขึ้น ลดข้อผิดพลาดที่เกิดจากลืม await โดยเฉพาะถ้าเราเพิ่งย้ายจาก framework test อื่น
.
5. HTTP Client มาพร้อมกับ Undici 7.0.0 เวอร์ชันใหม่ มาพร้อมกับการปรับปรุงประสิทธิภาพและรองรับมาตรฐาน HTTP ได้ดีขึ้น เร็วขึ้น ใช้งาน fetch ได้ลื่นไหล และเหมาะกับแอปที่เน้น HTTP request
.
6. npm v11
Node.js 24 มาพร้อม npm v11 ซึ่งมีสิ่งใหม่ดังนี้:
– ติดตั้งแพ็กเกจได้เร็วขึ้น ตรวจสอบความปลอดภัยดีขึ้น CI pipeline เสถียรขึ้น
– รองรับ node ^20.17.0 || >=22.9.0
– npm init เพิ่ม prompt สำหรับชนิดของแพ็กเกจ
– ลบคำสั่ง npm hook และ –ignore-scripts ใช้กับทุก lifecycle script รวม prepare
– ไม่ fallback ไป audit endpoint เก่าแล้ว
.
7. ยกเลิกฟีเจอร์เก่า จะมีฟีเจอร์บางอย่างถูกเลิกใช้ เช่น:
url.parse() → ควรใช้ WHATWG URL API แทน
SlowBuffer, tls.createSecurePair และอื่น ๆ
constants เก่าใน fs อย่าง fs.F_OK กำลังจะหายไป
.
สรุป
Node.js 24 ไม่ใช่แค่การอัปเดตเล็ก ๆ แต่มันเป็นก้าวที่สำคัญในเรื่องประสิทธิภาพ ความปลอดภัย และประสบการณ์ของนักพัฒนา
.
และอย่าลืมว่า Node.js 24 จะกลายเป็น LTS (Long-Term Support) ในเดือนตุลาคม 2025 นี้! ผมว่านี่เป็นเวลาที่ดีในการเริ่มทดสอบและวางแผนย้ายมาใช้กันแล้วนะครับ
Views: 9