Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Default Constructor ใน JavaScript คืออะไร

นิยาม

Default Constructor คือ Constructor ที่ถูกสร้างขึ้นอัตโนมัติเมื่อคลาสไม่ได้กำหนด Constructor เอง โดยจะเป็นฟังก์ชันว่างเปล่าที่ไม่ทำอะไรเลย

Syntax

// Default constructor แบบปกติ
constructor() {}

สำหรับ Derived Class (คลาสลูก)

ถ้าคลาสลูกไม่มี constructor ของตัวเอง จะได้ default constructor ที่เรียก super(...args) อัตโนมัติ:

constructor(...args) {
  super(...args);
}

ตัวอย่าง

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  // ไม่มี constructor -> ใช้ default constructor
  // ซึ่งเทียบเท่ากับ:
  // constructor(...args) { super(...args); }
}

const dog = new Dog("Buddy");
console.log(dog.name); // "Buddy"

ข้อสังเกต

  • ถ้าคลาสลูกมี constructor ของตัวเอง ต้องเรียก super() ก่อนเข้าถึง this
  • Default constructor จะส่งอาร์กิวเมนต์ทั้งหมดไปให้ parent constructor โดยอัตโนมัติ
  • ถ้าคลาสแม่ (parent) มี constructor ที่ต้องการพารามิเตอร์บังคับ คลาสลูกที่ไม่มี constructor จะส่งต่ออาร์กิวเมนต์นั้นไปให้อัตโนมัติ

สรุป

Default Constructor ช่วยลดโค้ดซ้ำเมื่อคลาสลูกไม่ต้องการเพิ่มตรรกะการสร้างอ็อบเจกต์พิเศษ และเพียงแค่ส่งต่อพารามิเตอร์ให้คลาสแม่