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.