انتقل إلى محتوى الدرس

Creating Bound Functions bind ربط السياق بالدالة bind

أتقن دالة bind في JavaScript لمنع ضياع سياق this عند تمرير الدوال وتثبيت الوسائط المسبقة وحفظ السياق مع تفاعلات الأزرار والمؤقتات ومقارنتها مع call وapply.
3 صفوف تعليمية
جافا سكريبت
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بخلاف .call() و.apply()، فإن استدعاء fn.bind(targetObj) لا يشغل الدالة فوراً، بل ينشئ ويرجع دالة جديدة مربوطة (Bound Function) جرى قفل الكلمة this بداخلها نهائياً على الكائن targetObj مهما كانت طريقة استدعائها لاحقاً.

الصف 2 كود برمجي
JavaScript
const account = {
  owner: 'Noura',
  points: 340,
  summary: function () { return this.owner + ' has ' + this.points + ' pts'; }
};
const getSummary = account.summary.bind(account);
document.getElementById('bind-out').textContent = getSummary();
الصف 3 ملاحظة هامة