สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-106

Advanced JavaScript

หลักสูตร Advanced JavaScript เป็นการอบรมต่อยอด JavaScript สมัยใหม่ ทั้ง Closure, Class, Event Loop, Promise และ async/await ไปจนถึง ES Modules, TypeScript เบื้องต้น การเขียน Test และสร้าง REST API ด้วย Node.js กับ Express 5 เหมาะกับ Developer ที่เขียน JavaScript พื้นฐานได้แล้วและอยากเขียนโค้ดที่ดูแลง่าย

อัปเดตล่าสุด
ราคาเริ่มต้น 6,750 บาท / ท่าน 7,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

JavaScript ทุกวันนี้ไม่ได้อยู่แค่บนหน้าเว็บ แต่ยังใช้สร้าง API ฝั่งเซิร์ฟเวอร์ เครื่องมือ Build และแอปพลิเคชันขนาดใหญ่ นักพัฒนาที่เขียนพื้นฐานได้แล้วมักเริ่มเจอปัญหาเมื่อโค้ดโตขึ้น เช่น ค่า this ไม่เป็นอย่างที่คิด งาน Asynchronous ทำงานผิดลำดับ Error หายไปเงียบ ๆ หรือไฟล์เดียวยาวจนไม่มีใครกล้าแก้ ทั้งที่ภาษามีเครื่องมือรองรับเรื่องเหล่านี้อยู่แล้ว

หลักสูตรนี้พาต่อยอด JavaScript ไปสู่ระดับที่ใช้ในงานจริง เริ่มจากเตรียม Node.js, npm และ Vite ทำความเข้าใจ Scope, Closure และ this จัดการข้อมูลด้วย Destructuring, Spread และ Array Method แบบไม่แก้ของเดิม เขียนแบบ Functional และ OOP ด้วย Class จากนั้นเจาะ Event Loop, Promise, async/await, Generator, ES Modules และ Browser API สมัยใหม่ ก่อนนำไปสร้าง REST API ด้วย Node.js และ Express 5 เริ่มใช้ TypeScript เขียน Test และดูแลประสิทธิภาพกับความปลอดภัยของโค้ด แล้วปิดท้ายด้วย Capstone เว็บแอปพร้อม API ที่มี Test ครบ (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • อธิบาย Scope, Closure, this และ Prototype Chain และใช้แก้ปัญหาในโค้ดจริงได้
  • จัดการข้อมูลด้วยฟีเจอร์ ECMAScript สมัยใหม่ ทั้ง Destructuring, Spread และ Iterator Helpers
  • ออกแบบโค้ดเชิงวัตถุด้วย Class, Private Field และ Composition ได้เหมาะสม
  • เข้าใจ Event Loop และเขียนงาน Asynchronous ด้วย Promise และ async/await อย่างถูกต้อง
  • จัดโครงสร้างโปรเจกต์ด้วย ES Modules, npm และ Vite
  • สร้าง REST API ด้วย Node.js และ Express 5 พร้อมจัดการ Error อย่างเป็นระบบ
  • เริ่มใช้ TypeScript และเขียน Test อัตโนมัติให้โค้ดของตนเองได้
  • ตรวจประสิทธิภาพ Memory Leak และช่องโหว่ที่พบบ่อยในโค้ด JavaScript ได้

หลักสูตรนี้เหมาะสำหรับ

  • Front-end และ Full-stack Developer ที่เขียน JavaScript พื้นฐานได้แล้วและอยากเขียนให้เป็นระบบขึ้น
  • นักพัฒนาที่กำลังจะเริ่มใช้ React, Vue, Angular หรือ Node.js และต้องการเข้าใจภาษาให้ลึกก่อน
  • นักพัฒนาที่ดูแลโค้ด JavaScript รุ่นเก่าและต้องการปรับให้ทันสมัย
  • IT Manager และ Tech Lead ที่ต้องรีวิวโค้ดและวางมาตรฐานการเขียน JavaScript ของทีม
  • ผู้ที่ผ่านหลักสูตร Basic JavaScript และต้องการต่อยอดในระดับถัดไป

พื้นฐานของผู้เข้าอบรม

  • เขียน JavaScript พื้นฐานได้ ทั้งตัวแปร เงื่อนไข ลูป ฟังก์ชัน Array และ Object
  • เข้าใจการทำงานของ DOM และเขียนโค้ดรับ Event บนหน้าเว็บได้
  • รู้จัก HTML, CSS และใช้ Command Line กับ Git ขั้นพื้นฐานได้
  • โน้ตบุ๊กที่ติดตั้ง Node.js รุ่น LTS, VS Code และเบราว์เซอร์รุ่นล่าสุดได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Advanced JavaScript รุ่นเดิม อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ระดับ Intermediate ฉบับนี้ขยายจากฟีเจอร์ ES6 ไปสู่ ECMAScript รุ่นล่าสุด เช่น Iterator Helpers, Set Methods, Promise.try และ using เปลี่ยนจาก Express 4 เป็น Express 5 และเพิ่ม Vite, TypeScript เบื้องต้น การเขียน

Test ด้วย Node.js Test Runner และหัวข้อ Performance กับ Security ทุก Lab ใช้เครื่องมือโอเพนซอร์สบนเครื่องของผู้เรียน หลักสูตรนี้เน้นตัวภาษาและ Node.js ต่อยอดจากหลักสูตร Basic JavaScript และเป็นพื้นฐานก่อนเรียน React, Vue, Angular หรือ NestJS ผู้เรียนได้ Lab Guide โค้ดตั้งต้นและโค้ดเฉลยครบทุก Lab และโปรเจกต์ Capstone กลับไปใช้งานต่อ

Day 1 เข้าใจภาษาให้ลึกและเขียนโค้ดสมัยใหม่

Section 1: Lab: เตรียมสภาพแวดล้อม JavaScript สมัยใหม่

  • ภาพรวม ECMAScript ตั้งแต่ ES6 ถึงรุ่นล่าสุด และวิธีติดตามฟีเจอร์ใหม่
  • ติดตั้ง Node.js รุ่น LTS และใช้ npm กับ package.json
  • สร้างโปรเจกต์ฝั่งเบราว์เซอร์ด้วย Vite
  • ตั้งค่า ESLint และ Prettier ให้ทีมเขียนโค้ดเป็นมาตรฐานเดียวกัน
  • Lab: โปรเจกต์ตั้งต้นที่ใช้ต่อทุก Lab ในหลักสูตร

Section 2: Scope, Closure และ this

  • Block Scope, Hoisting และ Temporal Dead Zone
  • Closure และการใช้เก็บสถานะแบบ Private
  • ค่า this ในฟังก์ชันปกติ Method และ Arrow Function
  • call, apply และ bind และปัญหา this หายใน Callback
  • Lab: ตัวนับและ Cache ที่สร้างจาก Closure

Section 3: Lab: จัดการข้อมูลด้วยไวยากรณ์สมัยใหม่

  • Destructuring ของ Array และ Object พร้อมค่าเริ่มต้น
  • Rest Parameter และ Spread Operator
  • Optional Chaining, Nullish Coalescing และ structuredClone
  • Array Method ที่ไม่แก้ของเดิม เช่น toSorted, toReversed และ with
  • จัดกลุ่มข้อมูลด้วย Object.groupBy และ Map.groupBy

Section 4: Functional Programming ใน JavaScript

  • Higher-order Function และการส่งฟังก์ชันเป็นค่า
  • Pure Function, Immutability และการประกอบฟังก์ชัน
  • map, filter และ reduce สำหรับงานรายงานข้อมูล
  • Iterator Helpers และ Set Methods อย่าง union และ intersection
  • Lab: สรุปยอดขายจากข้อมูล JSON โดยไม่แก้ข้อมูลต้นฉบับ

Section 5: OOP ด้วย Class และ Prototype

  • Class, Constructor, Field และ Method
  • Private Field ด้วย #, Static Member, Getter และ Setter
  • การสืบทอดด้วย extends และ super
  • Prototype Chain ที่ทำงานอยู่เบื้องหลัง Class
  • Composition เทียบกับ Inheritance และ Lab: ระบบตะกร้าสินค้าแบบ OOP
Day 2 Asynchronous, Modules และ Browser API

Section 6: Event Loop และ Promise

  • JavaScript แบบ Single Thread, Call Stack และ Event Loop
  • Microtask เทียบกับ Macrotask และลำดับการทำงานจริง
  • สร้างและต่อ Promise ด้วย then, catch และ finally
  • Promise.all, allSettled, any และ race
  • Promise.withResolvers และ Promise.try

Section 7: Lab: async/await และการจัดการ Error

  • เขียน async/await แทน Callback และ Promise Chain
  • จัดการ Error ด้วย try, catch, finally และ Custom Error พร้อม cause
  • ยกเลิกคำขอด้วย AbortController และกำหนด Timeout
  • รันงานพร้อมกันแบบควบคุมจำนวน และ Retry เมื่อผิดพลาด
  • Lab: Dashboard ที่ดึงข้อมูลจากหลาย API พร้อมกัน

Section 8: Generator, Iterator และการคืนทรัพยากร

  • Iterable Protocol และการทำ Object ให้ใช้กับ for...of ได้
  • Generator Function และ yield
  • Async Iterator และ for await...of สำหรับข้อมูลที่มาเป็นช่วง
  • คืนทรัพยากรอัตโนมัติด้วย using และ await using
  • Lab: ดึงข้อมูลแบบแบ่งหน้าด้วย Async Generator

Section 9: ES Modules และเครื่องมือ Build

  • import และ export แบบ Named และ Default
  • Dynamic import และ Top-level await
  • จัดโครงสร้างโปรเจกต์เป็น Module ตามหน้าที่
  • ติดตั้งแพ็กเกจจาก npm, Semantic Versioning และ Lock File
  • Build และเตรียมไฟล์ขึ้นใช้งานจริงด้วย Vite

Section 10: Lab: Browser API สมัยใหม่

  • Fetch API, Web Storage และภาพรวม IndexedDB
  • Intersection Observer สำหรับ Lazy Load และ Infinite Scroll
  • Web Worker สำหรับงานคำนวณหนักโดยไม่ทำให้หน้าเว็บค้าง
  • Temporal API สำหรับวันที่และเวลา และการตรวจการรองรับของเบราว์เซอร์
  • Lab: หน้ารายการสินค้าที่โหลดเพิ่มเมื่อเลื่อนลง
Day 3 Node.js, คุณภาพโค้ด และ Capstone

Section 11: Lab: REST API ด้วย Node.js และ Express 5

  • Node.js Module ที่ใช้บ่อย และไฟล์ .env ด้วย --env-file
  • Routing, Middleware และการแยก Router ตามหน้าที่
  • Express 5 ส่ง Error จาก async Handler ไปยัง Error Middleware ให้อัตโนมัติ
  • ตรวจข้อมูลที่รับเข้า ตั้งค่า CORS และตอบกลับเป็น JSON
  • Lab: API จัดการสินค้าแบบ CRUD พร้อมจัดการ Error

Section 12: TypeScript เบื้องต้นสำหรับนักพัฒนา JavaScript

  • ทำไมทีมส่วนใหญ่ใช้ TypeScript และเริ่มจาก JSDoc ได้อย่างไร
  • Type พื้นฐาน, Interface, Union และ Generic เบื้องต้น
  • รันไฟล์ .ts บน Node.js โดยตรงด้วย Type Stripping และข้อจำกัด
  • Lab: เพิ่ม Type ให้ API จาก Section 11

Section 13: Lab: เขียน Test อัตโนมัติ

  • Unit Test และ Integration Test ต่างกันอย่างไร
  • เขียน Test ด้วย Node.js Test Runner และ node:assert
  • Mock ฟังก์ชันและเวลา และทดสอบโค้ด Asynchronous
  • ทดสอบ API ด้วยการยิงคำขอจริงและวัด Code Coverage
  • Lab: เขียน Test ให้ฟังก์ชันคำนวณและ API สินค้า

Section 14: Performance, Debugging และความปลอดภัย

  • หาจุดช้าด้วย Performance Panel และหา Memory Leak ด้วย Memory Panel
  • Debounce และ Throttle สำหรับ Event ที่เกิดถี่
  • ป้องกัน XSS และ Prototype Pollution ในโค้ด JavaScript
  • ตรวจช่องโหว่ของแพ็กเกจด้วย npm audit
  • ใช้ AI Assistant ช่วยรีวิวและ Refactor โค้ด พร้อมตรวจผลด้วย Test

Section 15: Workshop: Capstone เว็บแอปพร้อม API

  • ออกแบบเว็บแอปฝั่งเบราว์เซอร์ด้วย Vite ที่เรียกใช้ API จาก Express 5
  • จัดโครงสร้างด้วย ES Modules และแยกส่วนตามหน้าที่
  • เขียน Test ให้ส่วนสำคัญ และจัดการ Error ครบทุกจุด
  • นำเสนอผลงาน รีวิวโค้ดร่วมกัน และแนวทางต่อยอดสู่ React, Vue หรือ NestJS

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

var let และ const ใน JavaScript ต่างกันอย่างไร

var มีขอบเขตระดับฟังก์ชัน ประกาศซ้ำได้ และถูก hoist ขึ้นไปโดยมีค่าเริ่มต้นเป็น undefined ส่วน let และ const มีขอบเขตระดับบล็อก และเรียกใช้ก่อนบรรทัดที่ประกาศไม่ได้เพราะติด Temporal Dead Zone โดย let กำหนดค่าใหม่ได้ ส่วน const กำหนดค่าใหม่ไม่ได้ แต่ถ้าเก็บอ็อบเจกต์หรืออาร์เรย์ก็ยังแก้ข้อมูลข้างในได้ หากต้องการสำเนาที่แยกจากต้นฉบับให้ใช้ structuredClone หรือ Array Method แบบไม่แก้ของเดิมอย่าง toSorted

จัดการข้อผิดพลาดในโค้ด async/await ทำอย่างไร

ครอบคำสั่ง await ไว้ในบล็อก try...catch เพื่อจับ Promise ที่ถูก reject แล้วจัดการในส่วน catch และใช้ finally กับงานที่ต้องทำเสมอ เช่น ปิดสถานะกำลังโหลด ถ้ารันหลายงานด้วย Promise.all ทั้งชุดจะ reject ทันทีเมื่อมีงานใดล้มเหลว หากต้องการผลทุกงานให้ใช้ Promise.allSettled ส่วนคำขอที่อาจค้างนานควรใช้ AbortController กำหนด Timeout และใน Express 5 Error จาก async Handler จะถูกส่งต่อไปยัง Error Middleware ให้อัตโนมัติ

Event Loop ใน JavaScript ทำงานอย่างไร

JavaScript รันโค้ดบนเธรดเดียว งานที่ต้องรอ เช่น timer หรือการเรียกเครือข่าย จะถูกส่งให้เบราว์เซอร์หรือ Node.js ทำแทน เมื่อเสร็จแล้ว callback จะเข้าคิวรอไว้ Event Loop คอยตรวจว่า Call Stack ว่างเมื่อไร แล้วดึงงานจากคิว microtask เช่น callback ของ Promise ออกมาทำจนหมดก่อน จากนั้นจึงหยิบงานถัดไปจากคิว macrotask เช่น setTimeout งานคำนวณหนักจึงควรย้ายไปทำใน Web Worker เพื่อไม่ให้หน้าเว็บค้าง

หลักสูตร Advanced JavaScript เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับ Front-end และ Full-stack Developer นักพัฒนาที่กำลังจะเริ่มใช้ React, Vue, Angular หรือ Node.js ผู้ที่ดูแลโค้ด JavaScript รุ่นเก่า และ Tech Lead ที่ต้องรีวิวโค้ดของทีม ควรเขียน JavaScript พื้นฐานได้ทั้งตัวแปร เงื่อนไข ลูป ฟังก์ชัน Array และ Object เข้าใจ DOM และ Event และใช้ Command Line กับ Git ขั้นพื้นฐานได้ ผู้ที่ผ่านหลักสูตร Basic JavaScript มาแล้วต่อยอดได้ทันที

เรียนจบหลักสูตร Advanced JavaScript แล้วทำอะไรได้บ้าง

เข้าใจกลไกอย่าง Closure, this, Prototype และ Event Loop เขียนโค้ดด้วยฟีเจอร์ ECMAScript รุ่นล่าสุด ออกแบบโค้ดแบบ Functional และ OOP จัดการงาน Asynchronous ด้วย Promise และ async/await จัดโปรเจกต์ด้วย ES Modules และ Vite สร้าง REST API ด้วย Node.js และ Express 5 เริ่มใช้ TypeScript และเขียน Test อัตโนมัติ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Advanced JavaScript ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกปรับโค้ด JavaScript หรือ API ที่ทีมดูแลอยู่ให้ทันสมัยและมี Test รองรับ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

บทความที่เกี่ยวข้อง