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

JavaScript OOP

หลักสูตร JavaScript OOP เป็นการอบรมออกแบบโค้ด JavaScript แบบ Object Oriented ตั้งแต่ Prototype และ Class ไปจนถึง Encapsulation, Inheritance, Polymorphism, Composition และหลัก SOLID พร้อม Design Pattern ที่ใช้บ่อย เหมาะกับ Developer ที่เขียน JavaScript ได้แล้วและ Tech Lead ที่ต้องวางโครงสร้างโค้ดของทีม

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

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

เมื่อโปรเจกต์ JavaScript โตขึ้น โค้ดที่เขียนเป็นฟังก์ชันต่อกันยาว ๆ มักแก้ยาก ใช้ซ้ำยาก และพังง่ายเมื่อมีคนแก้หลายคน การคิดแบบ Object Oriented ช่วยแบ่งระบบเป็นชิ้นที่มีหน้าที่ชัดเจน ซ่อนรายละเอียดที่ไม่จำเป็น และต่อยอดได้โดยไม่ต้องรื้อของเดิม แนวคิดนี้อยู่เบื้องหลัง Framework และไลบรารีที่นักพัฒนาใช้ทุกวัน

หลักสูตรนี้พาเข้าใจ OOP ในแบบของ JavaScript ซึ่งทำงานบน Prototype ตั้งแต่ Object, Prototype และ this เขียน Class ตามมาตรฐาน ECMAScript ล่าสุด ฝึก Encapsulation ด้วย Private Element, Abstraction, Inheritance และ Polymorphism เลือกใช้ Composition แทนการสืบทอดเมื่อเหมาะสม ออกแบบตามหลัก SOLID และใช้ TypeScript เพิ่ม Interface กับ Abstract Class จากนั้นเรียน Design Pattern ทั้งกลุ่ม Creational, Structural และ Behavioral เขียน Test และ Refactor โค้ดเดิม แล้วปิดท้ายด้วย Capstone ออกแบบระบบด้วย Pattern (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

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

  • อธิบายแนวคิด OOP และความต่างระหว่าง Prototype กับ Class ใน JavaScript ได้
  • เขียน Class พร้อม Private Element, Static Member, Getter และ Setter ได้ถูกต้อง
  • ใช้หลัก Encapsulation, Abstraction, Inheritance และ Polymorphism ออกแบบโค้ดได้
  • เลือกใช้ Composition หรือ Inheritance ได้เหมาะกับปัญหา
  • ออกแบบ Class ตามหลัก SOLID และสื่อสารด้วย Class Diagram ได้
  • ใช้ TypeScript เพิ่ม Interface, Abstract Class และ Access Modifier ให้โค้ด OOP ได้
  • นำ Design Pattern ที่ใช้บ่อยมาแก้ปัญหาในงาน JavaScript ได้
  • เขียน Test และ Refactor โค้ดเดิมให้เป็นโครงสร้างแบบ OOP ได้

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

  • Developer ที่เขียน JavaScript ได้แล้วและต้องการออกแบบโค้ดให้เป็นระบบ
  • Front-end และ Full-stack Developer ที่ต้องดูแลโปรเจกต์ขนาดกลางถึงใหญ่
  • ผู้ที่ต้องการเข้าใจแนวคิดเบื้องหลัง Framework อย่าง Angular, NestJS และไลบรารีต่าง ๆ
  • IT Manager และ Tech Lead ที่ต้องวางโครงสร้างโค้ดและรีวิวงานของทีม

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

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

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

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

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร JavaScript OOP อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ระดับ Intermediate ฉบับนี้ใช้ไวยากรณ์ Class ตามมาตรฐาน ECMAScript ล่าสุด เช่น Private Method, Static Block และการตรวจด้วย #field in obj เพิ่มหลัก SOLID, Composition, Mixin, Class Diagram, TypeScript สำหรับ Interface และ Abstract Class และการเขียน Test และปรับตัวอย่าง Design Pattern

ให้ใช้ ES Modules, EventTarget และ Proxy ยังคงหัวข้อ Design Pattern ครบทั้งกลุ่ม Creational, Structural และ Behavioral หัวข้อ Class และ Prototype ทับซ้อนกับหลักสูตร Advanced JavaScript บางส่วน แต่หลักสูตรนี้เน้นการออกแบบเชิงวัตถุและ Design Pattern ทุก Lab ใช้เครื่องมือโอเพนซอร์สหรือใช้ฟรี ผู้เรียนได้ Lab Guide โค้ดตั้งต้นและโค้ดเฉลยครบทุก Lab และโปรเจกต์ Capstone กลับไปใช้งานต่อ

Day 1 พื้นฐาน OOP ใน JavaScript

Section 1: Lab: แนวคิด OOP และเตรียมเครื่องมือ

  • ทำไมต้องเขียนแบบ OOP ข้อดี ข้อจำกัด และความต่างกับแบบ Procedural
  • หลักการคิดแบบ Object และการแยกหน้าที่ของแต่ละ Class
  • ติดตั้ง Node.js รุ่น LTS, VS Code และ ESLint
  • จัดโปรเจกต์ด้วย ES Modules และรัน Test ด้วย node --test
  • Lab: โปรเจกต์ตั้งต้นที่ใช้ต่อทุก Lab

Section 2: Object, Prototype และ this

  • Object Literal, Method และ Shorthand
  • Constructor Function และ new ทำงานอย่างไร
  • Prototype Chain, Object.create และ Object.getPrototypeOf
  • ค่า this ใน Method, Callback และ Arrow Function
  • Lab: สร้าง Object สินค้าด้วยสามวิธีแล้วเปรียบเทียบ

Section 3: Lab: Class และ Object

  • Class Declaration, Constructor, Field และ Method
  • Static Field, Static Method และ Static Initialization Block
  • Getter และ Setter สำหรับตรวจค่าก่อนเก็บ
  • Class ทำงานบน Prototype อย่างไรเบื้องหลัง
  • Lab: Class บัญชีลูกค้าและคำสั่งซื้อ

Section 4: Encapsulation

  • ห่อหุ้มข้อมูลด้วย Private Field และ Private Method
  • ตรวจว่าเป็น Object ของ Class ด้วย #field in obj
  • Closure และ Module Pattern เป็นอีกทางของการซ่อนข้อมูล
  • Object.freeze และการออกแบบ Object ที่แก้ไขไม่ได้
  • Lab: Class กระเป๋าเงินที่ป้องกันยอดเงินถูกแก้ตรง ๆ

Section 5: Abstraction

  • ออกแบบ Public API ของ Class ให้ใช้ง่ายและซ่อนรายละเอียด
  • แนวคิด Abstract Class ใน JavaScript ที่ไม่มีคีย์เวิร์ด abstract
  • บังคับให้ Class ลูกเขียน Method ด้วย new.target และการโยน Error
  • Duck Typing และการกำหนดสัญญาของ Object ด้วย JSDoc
  • Lab: Class แม่ของช่องทางชำระเงินหลายแบบ
Day 2 Inheritance, Polymorphism และหลักการออกแบบ

Section 6: Lab: Inheritance

  • สืบทอดด้วย extends และเรียก Class แม่ด้วย super
  • Method Overriding และการต่อยอด Method เดิม
  • สืบทอดจาก Built-in เช่น Error เพื่อสร้าง Custom Error
  • instanceof และความสัมพันธ์ของ Class แบบต่าง ๆ
  • Lab: ลำดับชั้นของพนักงานและการคำนวณเงินเดือน

Section 7: Polymorphism

  • Polymorphism คืออะไร และช่วยลด if-else ได้อย่างไร
  • Overriding เทียบกับ Overloading ที่ JavaScript ไม่มีโดยตรง
  • ทำ Object ให้ทำงานกับภาษาด้วย Symbol.iterator และ toString
  • เรียกใช้ Object หลายชนิดผ่าน Interface เดียวกัน
  • Lab: ระบบคำนวณค่าขนส่งหลายรูปแบบ

Section 8: Composition และ Mixin

  • ปัญหาของการสืบทอดหลายชั้น
  • Composition over Inheritance และการประกอบ Object จากส่วนย่อย
  • Mixin สำหรับเพิ่มความสามารถให้หลาย Class
  • Dependency Injection เพื่อให้เปลี่ยนส่วนประกอบและทดสอบได้ง่าย
  • Lab: ปรับลำดับชั้น Class ให้เป็น Composition

Section 9: หลักการ SOLID และ Class Diagram

  • Single Responsibility และ Open/Closed
  • Liskov Substitution, Interface Segregation และ Dependency Inversion
  • อ่านและเขียน Class Diagram ด้วย UML
  • สร้าง Diagram จากโค้ดด้วย Mermaid
  • Lab: วิเคราะห์โค้ดที่ผิดหลัก SOLID และออกแบบใหม่

Section 10: Lab: OOP ด้วย TypeScript

  • ทำไมทีมนิยมใช้ TypeScript กับโค้ด OOP
  • Interface และ implements
  • Abstract Class, Abstract Method และ Access Modifier
  • Parameter Property, readonly และ Generic Class เบื้องต้น
  • Lab: แปลงระบบชำระเงินจาก Section 5 เป็น TypeScript
Day 3 Design Pattern, Test และ Capstone

Section 11: Design Pattern และกลุ่ม Creational

  • ที่มาของ Design Pattern จาก Gang of Four และวิธีเลือกใช้
  • Singleton และทางเลือกด้วย ES Module
  • Factory Method สำหรับสร้าง Object ตามเงื่อนไข
  • Builder สำหรับ Object ที่มีค่าตั้งต้นหลายตัว
  • Lab: Factory สร้างช่องทางแจ้งเตือนหลายแบบ

Section 12: Lab: Structural Pattern

  • Composite สำหรับข้อมูลแบบต้นไม้ เช่น เมนูและหมวดหมู่
  • Adapter สำหรับเชื่อมกับ API หรือไลบรารีที่หน้าตาต่างกัน
  • Decorator สำหรับเพิ่มความสามารถโดยไม่แก้ Class เดิม
  • Facade สำหรับซ่อนระบบย่อยที่ซับซ้อน
  • Proxy ด้วย Proxy Object ของ JavaScript

Section 13: Behavioral Pattern

  • Observer ด้วย EventTarget ฝั่งเบราว์เซอร์และ EventEmitter ฝั่ง Node.js
  • Strategy สำหรับสลับวิธีคำนวณตอนทำงาน
  • Command สำหรับงานที่ต้อง Undo ได้
  • State สำหรับ Object ที่พฤติกรรมเปลี่ยนตามสถานะ
  • Lab: สถานะคำสั่งซื้อด้วย State และ Observer

Section 14: Lab: Test และ Refactor โค้ด OOP

  • เขียน Unit Test ให้ Class ด้วย Node.js Test Runner
  • ใช้ Dependency Injection และ Mock เพื่อทดสอบแยกส่วน
  • Refactor โค้ดแบบฟังก์ชันยาว ๆ ให้เป็น Class ทีละขั้นโดยมี Test คุม
  • ใช้ AI Assistant ช่วยเสนอการ Refactor แล้วตรวจผลด้วย Test
  • Lab: Refactor ระบบคำนวณส่วนลดจากโค้ดเดิม

Section 15: Workshop: Capstone ออกแบบระบบด้วย OOP และ Pattern

  • วิเคราะห์โจทย์ระบบจองหรือระบบคำสั่งซื้อและเขียน Class Diagram
  • เลือก Pattern ที่เหมาะกับแต่ละส่วนพร้อมเหตุผล
  • เขียนโค้ดตามหลัก SOLID พร้อม Test ส่วนสำคัญ
  • นำเสนอผลงานและรีวิวการออกแบบร่วมกัน

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

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

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

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

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

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

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

JavaScript เขียนแบบ OOP ได้อย่างไร class ใน JavaScript ต่างจากภาษาอื่นอย่างไร

JavaScript เป็นภาษาแบบ Prototype-based คือ Object สืบทอดคุณสมบัติจาก Object ต้นแบบผ่าน Prototype Chain คำสั่ง class จึงเป็นรูปแบบการเขียนที่อ่านง่ายขึ้นซึ่งทำงานบน Prototype เดิม ใช้ constructor กำหนดค่าเริ่มต้น extends กับ super สำหรับการสืบทอด และสมาชิกที่ขึ้นต้นด้วย # สำหรับข้อมูลและเมธอดแบบ private แต่ไม่มี Interface, Abstract Class หรือ Method Overloading แบบ Java จึงใช้ Duck Typing, new.target หรือ TypeScript แทน

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

วิธีมาตรฐานในปัจจุบันคือประกาศฟิลด์และเมธอดแบบ private ด้วยเครื่องหมาย # ในคลาส ซึ่งโค้ดภายนอกเข้าถึงไม่ได้ แล้วเปิดให้อ่านหรือแก้ค่าผ่าน getter และ setter ที่ตรวจความถูกต้องก่อน และตรวจว่า Object มาจากคลาสนั้นจริงได้ด้วย #field in obj อีกวิธีที่ใช้กันมานานคือ Closure โดยเก็บตัวแปรไว้ในฟังก์ชันแล้วคืนเฉพาะเมธอดที่ต้องการเปิดเผย ส่วนการตั้งชื่อขึ้นต้นด้วยขีดล่างเป็นเพียงธรรมเนียมที่ไม่ได้ป้องกันการเข้าถึงจริง

Observer Pattern คืออะไร ใช้ในงาน JavaScript ตอนไหน

Observer Pattern คือรูปแบบที่ Object หนึ่งเรียกว่า Subject เก็บรายชื่อผู้ติดตามไว้ และแจ้งทุกตัวเมื่อสถานะเปลี่ยน โดยไม่ต้องรู้ว่าผู้ติดตามแต่ละตัวทำอะไรต่อ ช่วยลดการผูกติดกันระหว่างส่วนต่าง ๆ ของโปรแกรม ในงาน JavaScript เห็นได้ทั่วไป เช่น addEventListener และ EventTarget ของเบราว์เซอร์ EventEmitter ใน Node.js และระบบจัดการ State ที่แจ้งให้หน้าจออัปเดตเมื่อข้อมูลเปลี่ยน

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

เหมาะกับ Developer ที่เขียน JavaScript ได้แล้วและต้องการออกแบบโค้ดให้เป็นระบบ Front-end และ Full-stack Developer ที่ดูแลโปรเจกต์ขนาดกลางถึงใหญ่ และ Tech Lead ที่ต้องรีวิวโค้ดของทีม ควรเขียน JavaScript ได้ ทั้งฟังก์ชัน Array, Object และ Arrow Function และเคยใช้ import กับ export มาบ้าง ผู้ที่ผ่านหลักสูตร Basic JavaScript หรือ Advanced JavaScript มาแล้วต่อยอดได้ทันที

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

ออกแบบโปรแกรมแบบ Object Oriented ด้วย JavaScript เขียน Class ตามมาตรฐานล่าสุด ใช้หลัก Encapsulation, Abstraction, Inheritance และ Polymorphism เลือกใช้ Composition ออกแบบตามหลัก SOLID ใช้ TypeScript กับ Interface และ Abstract Class และนำ Design Pattern อย่าง Factory Method, Composite, Adapter, Observer และ Strategy มาจัดโครงสร้างโค้ด พร้อมเขียน Test และ Refactor โค้ดเดิมได้ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

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

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

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