في JavaScript ، إذا كان لدينا كائن ولكن لا نعرف مُنشئه ، فكيف نحصل على كائن النموذج الأولي الخاص به؟
في متصفح Chrome أو Firefox ، يمكننا استخدام سمة __proto__ للكائن مباشرة للحصول على كائن النموذج الأولي الخاص به.
نسخة الكود كما يلي:
<!-لانج: JS->
دالة f () {} ؛
var foo = new f () ؛
تنبيه (foo .__ proto__ == f.prototype) ؛
ومع ذلك ، فإن سمة __proto__ غير مدعومة في متصفح IE حتى IE11.
لذلك في المتصفحات التي لا تدعم سمة __proto__ ، كيف نحصل على كائن النموذج الأولي للكائن؟ يمكن الحصول عليها بشكل غير مباشر من خلال مُنشئ.
نسخة الكود كما يلي:
<!-لانج: JS->
دالة f () {} ؛
var foo = new f () ؛
ALERT (foo.constructor.prototype == f.prototype) ؛
سمة المنشئ ليست السمة الخاصة بالكائن ، ولكن يتم الحصول عليها من كائن النموذج الأولي لأعلى على طول سلسلة النموذج الأولي. تشير هذه الخاصية إلى المُنشئ المقابل لكائن النموذج الأولي. تشير خاصية النموذج الأولي للمنشئ إلى كائن النموذج الأولي ، حتى نتمكن من الحصول عليها بشكل غير مباشر.
ما سبق هو كل شيء عن الحصول على كائنات النموذج الأولي في JavaScript. أتمنى أن تعجبك.