Object.getPrototypeOf()
< JavaScript | Object
الدالة Object.getPrototypeOf() تُعيد كائن prototype (أي قيمة الخاصية الداخلية [[Prototype]]) للكائن المُحدَّد.
البنية العامة
Object.getPrototypeOf(obj)
obj
الكائن الذي نريد الحصول على كائن prototype التابع له.
القيمة المعادة
كائن prototype للكائن المعطي، وإن لم تكن هنالك خاصياتٌ موروثة فستُعاد القيمة null.
الوصف
لاحظ أنَّه في معيار ECMAScript 5 كان استعمال هذه الدالة على وسيطٍ ليس كائنًا (أي قيمةً أوليةً) سيؤدي إلى رمي TypeError، لكن بدءًا من ECMAScript 2015 (أي ES6) فستُعامل الوسائط التي لا تُمثِّل كائنات على أنها كائنات:
Object.getPrototypeOf('foo');
// TypeError: "foo" is not an object (ES5)
Object.getPrototypeOf('foo');
// String.prototype (ES2015)
أمثلة
سنستخدم الدالة Object.getPrototypeOf() للحصول على كائن prototype للكائن obj (لاحظ أننا أنشأنا الكائن obj باستخدام الدالة Object.create() التي تُمكِّننا من تحديد كائن prototype عند إنشاء كائن جديد):
var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
دعم المتصفحات
| الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| الدعم الأساسي | 5 | 3.5 | 9 | 12.1 | 5 |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.