الاختلافات بين proto وconstructor.prototype
خاصية proto للكائن يشير إلى كائن النموذج الأولي الخاص به، والذي يحتوي على خصائص وأساليب مشتركة. في المقابل، يشير buildor.prototype إلى خاصية النموذج الأولي لوظيفة منشئ الكائن.
يوضح المثال التالي التمييز:
function Gadget(name, color) {
this.name = name;
this.color = color;
}
Gadget.prototype.rating = 3;
var newtoy = new Gadget("webcam", "black");
في هذه الحالة، يشير newtoy.__proto__ إلى Gadget.prototype، الذي يتمتع بتصنيف الخاصية، بينما يشير newtoy.constructor.prototype أيضًا إلى Gadget .النموذج الأولي. ومع ذلك، newtoy.constructor.prototype.constructor.prototype.constructor.prototype يُرجع قيمة فارغة لأنه لا يوجد نموذج أولي آخر يتجاوز Object.prototype.
وهذا لأن proto هو مرجع مباشر إلى كائن النموذج الأولي، بينما يتبع buildor.prototype سلسلة النموذج الأولي. عند الوصول إلى buildor.prototype عدة مرات، فإنك تجتاز سلسلة النموذج الأولي حتى تصل إلى المستوى الأعلى Object.prototype.
في Internet Explorer، لا توجد خاصية __proto__. بدلاً من ذلك، يمكنك استخدام السمة [[Prototype]] للوصول إلى النموذج الأولي للكائن. ومع ذلك، لا يمكن الوصول إلى هذه السمة في كود JavaScript القياسي.
يمكن أن تساعدك الإشارة إلى كائنات النموذج الأولي في فهم التسلسل الهرمي للميراث في JavaScript وتوفر آلية لمشاركة الخصائص والأساليب بين الكائنات ذات الصلة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3