เทคนิคทางโปรแกรมมิ่งที่มุ่งหมายต่อเป้าหมาย ECMAScript
- หน้าก่อนหน้า การปิดบรรลุ (closure)
- หน้าต่อไป สิ่งที่ใช้งาน
แนวทางที่มีเป้าหมายที่เป็นสิ่ง
วัตถุ
ECMA-262 กำหนดวัตถุ (object) ว่าเป็น "ชุดคุณสมบัติที่ไม่มีลำดับ ในแต่ละคุณสมบัติมีค่าเดี่ยวเพียงแค่หนึ่ง หรืออาจเป็นวัตถุหรือฟังก์ชัน" ในทางทฤษฎีนี้นี่หมายความว่าวัตถุเป็นลำดับค่าที่ไม่มีลำดับ
ถึงแม้ว่า ECMAScript จะมีการกำหนดวัตถุ แต่การกำหนดที่ทั่วไปของมันเกี่ยวข้องกับการแสดงทางคำว่า (noun) ของรหัส (person, place, or thing)
รูปแบบ
วัตถุทุกตัวจะมีการกำหนดโดยรูปแบบ และเราจะมองว่ารูปแบบนี้เป็นแบบฟอร์มวัตถุ รูปแบบนี้ไม่เพียงแค่กำหนดส่วนบุคคล (interface) ที่นักพัฒนาสามารถเข้าถึง (ข้อมูลหรือวิธี) แต่ยังกำหนดงานภายใน (code) ที่ทำให้ข้อมูลหรือวิธีทำงาน ตัวอุปกรณ์และโปรแกรมในการรับมือกับรูปแบบนี้จะทำงานเพื่อสร้างวัตถุตามรายละเอียดของรูปแบบ
ตัวอย่าง
ขณะที่โปรแกรมใช้ชั้นเพื่อสร้างวัตถุ วัตถุที่สร้างขึ้นจะเรียกว่าตัวอย่าง (instance) จำกัดเดียวของตัวอย่างที่สร้างขึ้นนั้นคือความจำภายในของเครื่องที่ปฏิบัติการรหัสส่วนบุคคล ตัวอย่างทุกตัวจะมีพฤติกรรมเดียวกัน แต่จะจัดการกับข้อมูลที่เป็นเดี่ยวเดียว กระบวนการที่สร้างตัวอย่างจากชั้นเรียกว่า การทำบรรลุ (instantiation)
ในบทที่ผ่านมาเราได้กล่าวถึงว่า ECMAScript ไม่มีรูปแบบของชั้น (class) ที่เป็นทางการ แทนที่นั้น ECMA-262 ได้เรียกการเรียกของวัตถุเป็นแบบฟอร์มวัตถุ (recipe) นี่เป็นแนวทางของ ECMAScript ที่เป็นการเลือกทางวิทยาศาสตร์ เพราะแบบฟอร์มวัตถุนั้นเป็นวัตถุตัวเอง แม้ว่าชั้นจะไม่มีอยู่จริง แต่เรายังเรียกแบบฟอร์มวัตถุว่าเป็นชั้น เพราะส่วนใหญ่นักพัฒนามีความเข้าใจเรื่องนี้ และทางฟังก์ชันของทั้งสองเท่ากัน
ความต้องการของภาษาที่มีการมุ่งเน้นทางวัตถุ
ภาษาที่มีการมุ่งเน้นทางวัตถุต้องมีความสามารถสี่สิ่งพื้นฐานสำหรับนักพัฒนา:
- การทำบรรลุ (encapsulation) - ความสามารถในการเก็บข้อมูล (ไม่ว่าจะเป็นข้อมูลหรือวิธี) ที่เกี่ยวข้องในวัตถุ
- การรวมกัน (aggregation) - ความสามารถในการเก็บวัตถุหนึ่งในวัตถุอื่น
- การสืบทอด (inheritance) - ความสามารถในการได้รับคุณสมบัติและวิธีจากวัตถุ (หรือหลายวัตถุ)
- โมร์โฟ (polymorphism) - ความสามารถในการเขียนฟังก์ชันหรือวิธีที่สามารถทำงานในหลายวิธี
ECMAScript สนับสนุนความต้องการนี้ ดังนั้นสามารถเห็นว่ามันเป็นภาษาที่มีการมุ่งเน้นทางวัตถุ
การประกอบวัตถุ
ใน ECMAScript วัตถุที่มีอยู่จะประกอบด้วยคุณสมบัติ (attribute) คุณสมบัตินั้นอาจเป็นค่าเดี่ยวเพียงแค่หนึ่ง หรืออาจเป็นค่าอ้างอิง ถ้าคุณสมบัติมีเป็นฟังก์ชัน มันจะถือว่าเป็นวิธี (method) ของวัตถุ ไม่ว่าคุณสมบัตินั้นจะถือว่าเป็นคุณสมบัติ (property) ของวัตถุ
- หน้าก่อนหน้า การปิดบรรลุ (closure)
- หน้าต่อไป สิ่งที่ใช้งาน