TypeScript classes and modules


Classes in TypeScript

Classes ใน TypeScript เป็นวิธีการสร้างออบเจ็กต์ที่มีโครงสร้างและพฤติกรรมที่กำหนดไว้ล่วงหน้า โดยอิงจากหลักการของ Object-Oriented Programming (OOP) การใช้ Classes ช่วยให้เราสามารถจัดกลุ่มข้อมูล (properties) และพฤติกรรม (methods) ที่เกี่ยวข้องกันไว้ในที่เดียว

ตัวอย่างการสร้าง Class ใน TypeScript:

class Person {
  private name: string;
  private age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  public getDetails(): string {
    return `Name: ${this.name}, Age: ${this.age}`;
  }
}

const john = new Person('John', 30);
console.log(john.getDetails()); // Output: "Name: John, Age: 30"

TypeScript ยังรองรับการสืบทอด (inheritance) ระหว่าง Classes ด้วย ซึ่งช่วยให้เราสามารถสร้าง Class ใหม่จาก Class ที่มีอยู่แล้วและขยายหรือปรับแต่งพฤติกรรมได้

Modules in TypeScript

Modules ใน TypeScript ช่วยให้เราสามารถแบ่งโค้ดออกเป็นไฟล์ต่างๆ ได้ โดยแต่ละไฟล์จะมีขอบเขตของตัวเอง (own scope) ซึ่งช่วยหลีกเลี่ยงปัญหาการใช้ชื่อตัวแปรซ้ำกันและทำให้โค้ดมีการจัดระเบียบที่ดีขึ้น

ในการสร้าง Module เราใช้คีย์เวิร์ด export เพื่อกำหนดว่าส่วนใดของโค้ดที่สามารถเข้าถึงได้จากภายนอก Module และใช้คีย์เวิร์ด import เพื่อนำเข้าโค้ดจาก Module อื่น

ตัวอย่างการสร้าง Module ใน TypeScript:

ในตัวอย่างนี้ เราสร้าง Module utils.ts ที่มีฟังก์ชัน formatDate() และ generateId() ซึ่งถูก export เพื่อให้สามารถใช้งานได้จากภายนอก Module จากนั้นในไฟล์ app.ts เราทำการ import ฟังก์ชันเหล่านั้นจาก Module utils.ts และนำมาใช้งาน

การใช้ Modules ช่วยให้เราสามารถแยกโค้ดออกเป็นส่วนๆ ที่มีหน้าที่เฉพาะ และนำส่วนต่างๆ มาประกอบกันเพื่อสร้างแอปพลิเคชันที่มีขนาดใหญ่และซับซ้อนได้ ทำให้โค้ดมีความเป็นมอดูลาร์ (Modular) ง่ายต่อการทำความเข้าใจ และง่ายต่อการบำรุงรักษา

การใช้ Classes และ Modules ใน TypeScript ช่วยให้นักพัฒนาสามารถสร้างโค้ดที่มีโครงสร้างที่ดี อ่านง่าย และง่ายต่อการบำรุงรักษา รวมถึงส่งเสริมการนำโค้ดกลับมาใช้ใหม่ได้อย่างมีประสิทธิภาพ ซึ่งเป็นประโยชน์อย่างมากในการพัฒนา Next.js App ที่มีขนาดใหญ่และต้องการการจัดการโค้ดที่ดี

Last updated