จากตอนที่แล้ว ยังไม่ได้เขียนเรื่องของ JavaScript DataStructure ต่อเลยครับ ขอมาเขียนเรื่อง Pattern สลับกันไปก่อน
เรื่องแรกวันนี้เป็นเรื่อง Constructor Pattern ครับ ขออธิบายสั้นๆคร่าวๆให้รู้ Concept พอนะครับ ละเอียดกว่านั้นขอไม่พูดถึงก่อน
ใน Object-Oriented Programming Language แบบดั้งเดิมเลยนั้นจะมี Constructor เป็น Special Method ที่จะถูกใช้ในการ Initial Value ต่างๆให้กับ Object หรือ Instance ที่จะถูกสร้างขึ้นมาจาก Class แม่ (ถูก Allocated ลงไปที่ Memory) ใน JavaScript ก็เช่นกันครับ เพราะเกือบทุกอย่างเป็น Object และคนส่วนใหญ่ก็จะให้ความสนใจกับ Constructor ของ Object กัน โดยเราสามารถสร้าง Object ได้ 3 รูปแบบดังนี้
var newObject = {};
var newObject = Object.create(Object.prototype);
var newObject = new Object();
เราลองมาดู Basic Constructor แบบแรกกันครับ
จากโค้ดด้านบนนั้น toString() จะถูก redefined ใหม่ทุกครั้งที่สร้าง Object ตัวใหม่ขึ้น
จึงต้องปรับมาใช้ Pattern นี้ครับคือ Constructor with Prototype ตามรูปด้านล่าง
Function เกือบจะทั้งหมดใน JavaScript นั้นจะมี Object อยู่ตัวนึงครับ คือ "Prototype" object เมื่อเราเรียก JavaScript Constructor เพื่อจะสร้าง Object ใหม่นั้น Properties ทุกอย่างของ Prototype ของ Constructor จะติดไปที่ new Object ด้วย