الفرق بين المراجعتين لصفحة: «JavaScript/Object/lookupGetter»

من موسوعة حسوب
 
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
 
سطر 56: سطر 56:
== مصادر ومواصفات ==
== مصادر ومواصفات ==
*مسودة المعيار [https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ ECMAScript Latest Draft]. جعلتها هذه المسودة معياريةً.
*مسودة المعيار [https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ ECMAScript Latest Draft]. جعلتها هذه المسودة معياريةً.
[[تصنيف:JavaScript]]
[[تصنيف:JavaScript|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Global Objects]]
[[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Object]]
[[تصنيف:JavaScript Object|{{SUBPAGENAME}}]]

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

الدالة Object.prototype.__lookupGetter__()‎‎ تُعيد الدالة المرتبطة بالخاصية المعنية كدالة getter.

تحذير: هذه الدالة مهملة، وعلى الرغم من أنَّ هذه الدالة موجودة في أغلبية المتصفحات، لكنها لم تُعرَّف إلا في آخر مسودة من معيار ECMAScript لأغراض التوافقية، ولا يجب أن تُستخدَم لوجود بدائل أفضل منها.

البنية العامة

obj.__lookupGetter__(sprop)

sprop

سلسلة نصية تحتوي على اسم الخاصية التي نريد إعادة دالة getter المرتبطة بها.

القيمة المعادة

دالة getter المرتبطة بالخاصية المُحدَّدة.

الوصف

إذا عُرِّفَت دالة getter على إحدى خاصيات الكائن، فمن غير الممكن الإشارة إلى دالة getter عبر تلك الخاصية، لأنَّ تلك الخاصية تُشير إلى القيمة المُعادة من تلك الدالة؛ لذا يمكن استخدام الدالة __lookupGetter__ للحصول على مرجعية لدالة getter.

لاحظ أنَّ من المستحسن استخدام الدالة المعيارية Object.getOwnPropertyDescriptor()‎.

أمثلة

مثال عن استخدام الدالة __lookupGetter__، نُذكِّر أنَّه لا يجدر بنا استخدام هذه الطريقة:

var obj = {
  get foo() {
    return Math.random() > 0.5 ? 'foo' : 'bar';
  }
};

obj.__lookupGetter__('foo');
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })

يمكننا تنفيذ ما سبق بطريقةٍ معيارية باستخدام الدالة المعيارية Object.getOwnPropertyDescriptor()‎:

Object.getOwnPropertyDescriptor(obj, "foo").get;
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم 11 نعم نعم

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