Object Constructors ใน JavaScript

Constructor ใน JavaScript ช่วยให้คุณสร้าง object ได้อย่างมีประสิทธิภาพ คุณสามารถใช้พวกมันเพื่อสร้าง object จำนวนมากที่มีโครงสร้างเหมือนกัน

Constructor Functions

Constructor คือฟังก์ชันสำหรับกำหนดค่าเริ่มต้นให้กับ object ให้ใช้ keyword new ในการเรียกใช้งาน หากคุณลืมใช้ keyword new ฟังก์ชันจะไม่ทำงานตามที่ตั้งใจไว้

ควรเริ่มต้นชื่อ constructor ด้วยตัวอักษรพิมพ์ใหญ่เสมอ เพื่อช่วยให้คุณแยกแยะพวกมันออกจากฟังก์ชันทั่วไปได้

ตัวอย่าง:

Object.create()

คุณสามารถใช้ Object.create() เพื่อสร้าง object ใหม่โดยใช้ object ที่มีอยู่แล้วเป็น prototype ซึ่งวิธีนี้จะช่วยตั้งค่าการสืบทอด (inheritance) ระหว่าง object

Default Values

คุณสามารถกำหนดค่าเริ่มต้นใน constructor ได้ เพื่อให้แน่ใจว่า object ของคุณจะมีข้อมูลที่ถูกต้องเสมอ หากคุณไม่ได้ระบุค่าใดๆ constructor จะใช้ค่าเริ่มต้นที่กำหนดไว้

ตัวอย่าง:

function Person(name = "Unknown", age = 0) {
    this.name = name;
    this.age = age;
}

Prototypes และหน่วยความจำ (Memory)

การเพิ่ม method เข้าไปใน prototype จะช่วยประหยัดหน่วยความจำ แทนที่จะให้ทุก object มีสำเนาของฟังก์ชันเป็นของตัวเอง พวกมันจะใช้ฟังก์ชันเวอร์ชันเดียวกันจาก prototype แทน

ตัวอย่าง:

Person.prototype.greet = function() {
    console.log("Hello " + this.name);
};

Inheritance

Class ช่วยให้ class หนึ่งสามารถสืบทอดคุณสมบัติจากอีก class หนึ่งได้ ให้ใช้ keyword super() เพื่อเรียกใช้งาน constructor ของ class แม่ ซึ่งจะช่วยให้ child class สามารถใช้ properties และ methods จาก class แม่ได้

ทำไมต้องใช้ constructor?

Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp

Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96