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

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

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

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

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

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

obj.__lookupSetter__(sprop)

sprop

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

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

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

الوصف

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

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

أمثلة

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

var obj = {
  set foo(value) {
    this.bar = value;
  }
};

obj.__lookupSetter__('foo')
// (function(value) { this.bar = value; })

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

Object.getOwnPropertyDescriptor(obj, 'foo').set;
// (function(value) { this.bar = value; })

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

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

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