ใน JavaScript ถ้าเรามีวัตถุ แต่ไม่ทราบว่าตัวสร้างมันเราจะได้รับวัตถุต้นแบบได้อย่างไร
ในเบราว์เซอร์ Chrome หรือ Firefox เราสามารถใช้แอตทริบิวต์ __Proto__ ของวัตถุโดยตรงเพื่อรับวัตถุต้นแบบ
การคัดลอกรหัสมีดังนี้:
<!-Lang: JS->
ฟังก์ชั่น f () {};
var foo = new f ();
การแจ้งเตือน (foo .__ proto__ == f.prototype);
อย่างไรก็ตามแอตทริบิวต์ __proto__ ไม่ได้รับการสนับสนุนในเบราว์เซอร์ IE จนกระทั่ง IE11
ดังนั้นในเบราว์เซอร์ที่ไม่รองรับแอตทริบิวต์ __proto__ เราจะได้รับวัตถุต้นแบบของวัตถุได้อย่างไร สามารถรับทางอ้อมผ่านตัวสร้าง
การคัดลอกรหัสมีดังนี้:
<!-Lang: JS->
ฟังก์ชั่น f () {};
var foo = new f ();
การแจ้งเตือน (foo.constructor.prototype == f.prototype);
แอตทริบิวต์ตัวสร้างไม่ใช่แอตทริบิวต์ของวัตถุ แต่ได้มาจากวัตถุต้นแบบขึ้นไปตามห่วงโซ่ต้นแบบ คุณสมบัตินี้ชี้ไปที่ตัวสร้างที่สอดคล้องกับวัตถุต้นแบบนี้ คุณสมบัติต้นแบบของตัวสร้างชี้ไปที่วัตถุต้นแบบดังนั้นเราจึงสามารถรับได้ทางอ้อม
ข้างต้นคือทั้งหมดที่เกี่ยวกับการได้รับวัตถุต้นแบบในจาวาสคริปต์ ฉันหวังว่าคุณจะชอบมัน