الفرق بين المراجعتين ل"JavaScript/Object/getPrototypeOf"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
 
سطر 51: سطر 51:
 
*معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-object.getprototypeof ECMAScript 2015 (6th Edition)]‎.
 
*معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-object.getprototypeof ECMAScript 2015 (6th Edition)]‎.
 
*معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.2.3.2 ECMAScript 5.1].
 
*معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.2.3.2 ECMAScript 5.1].
[[تصنيف:JavaScript]]
+
[[تصنيف:JavaScript|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Global Objects]]
+
[[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Object]]
+
[[تصنيف:JavaScript Object|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:42، 28 يناير 2018

الدالة 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

مصادر ومواصفات