JavaScript เป็นเสียงที่มุ่งเน้นวัตถุนั่นคือทุกอย่างเป็นวัตถุ
แล้วจะสร้างวัตถุได้อย่างไร? ในโลก Java วัตถุถูกสร้างขึ้นโดยอินสแตนซ์ของชั้นเรียน ในแง่ของคนธรรมดาพวกเขาเป็นนามธรรมของสิ่งต่าง ๆ ลงในแม่พิมพ์และใช้แม่พิมพ์ (คลาส) นี้เพื่อผลิตวัตถุจริง (วัตถุ)
อย่างไรก็ตามไม่มีแนวคิดของชั้นเรียนใน JS บางอย่างเป็น "ต้นแบบ" และวัตถุได้มาจากต้นแบบ ในแง่ของคนธรรมดาในโลกของ JS "ต้นแบบ" ไม่ใช่แม่พิมพ์ แต่เป็นวัตถุคอนกรีต (วัตถุ) วัตถุทั้งหมดมาจากวัตถุอื่นและวัตถุที่ได้รับนี้เป็นสิ่งที่เรียกว่า "วัตถุต้นแบบ"
วัตถุมีสามประเภทใน JavaScript, 1 วัตถุที่ผู้ใช้สร้าง
แต่ละวัตถุทั้งสามนี้มีคุณสมบัติ -_proto__ แอตทริบิวต์ซึ่งชี้ไปที่ต้นแบบของวัตถุและสามารถย้อนกลับไปที่ Object.prototype จากจุดที่วัตถุใด ๆ ดังต่อไปนี้
ตัวสร้างมีวัตถุต้นแบบซึ่งชี้ไปที่วัตถุต้นแบบ เมื่อวัตถุถูกสร้างขึ้นผ่านตัวสร้างนี้แอตทริบิวต์ __proto__ ของวัตถุที่สร้างขึ้นจะชี้ไปที่แอตทริบิวต์ต้นแบบของตัวสร้าง
วัตถุต้นแบบมีคุณสมบัติตัวสร้างที่ชี้ไปที่ตัวสร้างที่สอดคล้องกัน
พูดคุยราคาถูกแสดงรหัส! ลองดูที่รหัส:
var obj = {}; console.log (obj);มาขยาย __proto__ เพื่อดู: เป็นวิธีการเริ่มต้นบางอย่าง
คุณจะเกิดขึ้นแน่นอนว่ามีวัตถุ __proto__ ในวัตถุ __proto__ นี้ อย่างที่เราเพิ่งพูดไปวัตถุแต่ละชิ้นมีแอตทริบิวต์ __proto__ ที่ชี้ไปที่วัตถุต้นแบบ มาพิมพ์ __proto__ ใน __proto__:
console.log (obj .__ proto __.__ proto__); //-> null
ผลที่ได้คือ NULL ซึ่งบ่งชี้ว่าวัตถุต้นแบบระดับบนสุดได้มาถึงแล้ว OBJ ถูกกำหนดไว้ในวงเล็บปีกกา {} และวัตถุต้นแบบของ OBJ เป็นวัตถุระดับบนสุดของ JS
มาดูรหัสด้านหนึ่งเพื่อเสริมสร้างความเข้าใจของเรา:
var parent = {ชื่อ: "parent"}; var child = {ชื่อ: "เด็ก", __proto__: พาเรนต์}; var subchild = {ชื่อ: "subchild", __proto__: child} console.log (subchild);