0Pricing
TypeScript Academy · บทเรียน

คลาสและคอนสตรักเตอร์ของ TypeScript

กำหนดคลาสด้วยพร็อพเพอร์ตีและคอนสตรักเตอร์ที่ระบุชนิด

คลาสและคอนสตรักเตอร์ของ TypeScript เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

เริ่มต้นใช้งาน

คลาสของ TypeScript คือคลาส JavaScript ที่มีคำอธิบายชนิดข้อมูล ทั้งสองส่วนรวมข้อมูลและพฤติกรรมไว้ในโครงสร้างเชิงวัตถุที่มีชนิดข้อมูล

การประกาศคลาสพร้อมพร็อพเพอร์ตี

ประกาศพร็อพเพอร์ตีของคลาสไว้ด้านบนสุดของคลาสพร้อมระบุชนิดข้อมูล TypeScript จะตรวจสอบการใช้งานทั้งหมด
class Person {
  name: string;
  age: number;

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

รูปแบบย่อของพร็อพเพอร์ตีพารามิเตอร์

เติมตัวปรับการเข้าถึงหน้าพารามิเตอร์ของตัวสร้าง เพื่อสร้างและกำหนดค่าให้พร็อพเพอร์ตีของคลาสโดยอัตโนมัติ
class Person {
  constructor(
    public name: string,
    private age: number
  ) {} // properties created automatically
}

เมธอดที่มีชนิดข้อมูล

เมธอดของคลาสใช้คำอธิบายชนิดข้อมูลของพารามิเตอร์และค่าที่ส่งคืนแบบเดียวกับฟังก์ชันทั่วไป
class Calculator {
  add(a: number, b: number): number {
    return a + b;
  }
}

ตัวรับค่าและตัวกำหนดค่า

ใช้คีย์เวิร์ด get และ set เพื่อสร้างพร็อพเพอร์ตีที่คำนวณได้ TypeScript จะตรวจสอบชนิดข้อมูลของพร็อพเพอร์ตีเหล่านั้น
class Circle {
  constructor(private radius: number) {}
  get area(): number { return Math.PI * this.radius ** 2; }
  set r(v: number) { this.radius = v; }
}

คลาสในฐานะชนิดข้อมูล

คลาสกำหนดทั้งค่า ซึ่งก็คือฟังก์ชันตัวสร้าง และชนิดข้อมูล ซึ่งก็คือโครงสร้างของอินสแตนซ์ คุณสามารถใช้ชื่อคลาสเป็นคำอธิบายชนิดข้อมูลได้
class Dog { name = 'Rex'; bark() { return 'Woof'; } }
const d: Dog = new Dog();

สมาชิกแบบสแตติก

พร็อพเพอร์ตีและเมธอดแบบสแตติกเป็นของคลาสเอง ไม่ใช่ของอินสแตนซ์ เข้าถึงสิ่งเหล่านี้ผ่านชื่อคลาส
class MathHelper {
  static PI = 3.14159;
  static square(n: number): number { return n * n; }
}
console.log(MathHelper.PI);

การสืบทอดคลาส

ใช้ `extends` เพื่อสืบทอดจากคลาสฐาน เรียก `super()` ในตัวสร้างเพื่อเริ่มต้นค่าของคลาสหลัก
class Animal {
  constructor(public name: string) {}
  speak(): string { return '...'; }
}
class Dog extends Animal {
  speak(): string { return 'Woof!'; }
}

คลาสนามธรรม

ไม่สามารถสร้างอินสแตนซ์จากคลาสนามธรรมได้ คลาสเหล่านี้กำหนดข้อกำหนดที่คลาสย่อยต้องนำไปใช้
abstract class Shape {
  abstract area(): number;
  describe(): string { return `Area: ${this.area()}`; }
}
class Square extends Shape {
  constructor(private side: number) { super(); }
  area() { return this.side ** 2; }
}

ชนิดข้อมูล this ในคลาส

ชนิดข้อมูล `this` หมายถึงชนิดข้อมูลของอินสแตนซ์ปัจจุบัน ทำให้สามารถสร้างส่วนต่อประสานการเขียนโปรแกรมแบบต่อเมธอดหรือแบบตัวสร้างที่มีชนิดข้อมูลค่าที่ส่งคืนถูกต้อง
class Builder {
  private parts: string[] = [];
  add(p: string): this { this.parts.push(p); return this; }
  build(): string { return this.parts.join(','); }
}

คลาสกับอินเทอร์เฟซและชนิดข้อมูล

คลาสเป็นค่าที่มีอยู่ขณะทำงานและมีตัวสร้าง ส่วนอินเทอร์เฟซและนามแฝงชนิดข้อมูลเป็นเพียงโครงสร้างชนิดข้อมูลที่มีอยู่ขณะคอมไพล์เท่านั้น ใช้คลาสเมื่อต้องการสร้างอินสแตนซ์และใช้เมธอด

ตรวจสอบอย่างรวดเร็ว

การเติม `public` หน้าพารามิเตอร์ของตัวสร้างใน TypeScript มีผลอย่างไร

สรุปทบทวน

คลาสของ TypeScript เพิ่มชนิดข้อมูลให้กับคลาส JavaScript ใช้พร็อพเพอร์ตีพารามิเตอร์เพื่อประกาศให้กระชับ ใช้ตัวปรับการเข้าถึงเพื่อควบคุมการห่อหุ้ม และใช้คลาสนามธรรมเพื่อบังคับใช้ข้อกำหนดของคลาสย่อย

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

บทเรียน “คลาสและคอนสตรักเตอร์ของ TypeScript” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คลาสและคอนสตรักเตอร์ของ TypeScript” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คลาสและคอนสตรักเตอร์ของ TypeScript”

กำหนดคลาสด้วยพร็อพเพอร์ตีและคอนสตรักเตอร์ที่ระบุชนิด คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “คลาสและคอนสตรักเตอร์ของ TypeScript” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คลาสและคอนสตรักเตอร์ของ TypeScript
  2. ตัวปรับแต่ง public, private และ protected
  3. พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์
  4. การใช้อินเทอร์เฟซกับคลาส
← กลับไปที่ TypeScript Academy