بازگشت به درس

تابع پیوند زده شده به عنوان متد

اهمیت: 5

خروجی چه خواهد بود؟

function f() {
  alert( this ); // ?
}

let user = {
  g: f.bind(null)
};

user.g();

جواب: null.

function f() {
  alert( this ); // null
}

let user = {
  g: f.bind(null)
};

user.g();

زمینه‌ی تابع پیوند زده شده به طور قطعی ثابت شده. راهی برای تغییر بیشتر آن وجود ندارد…

پس حتی زمانی که ما user.g() را اجرا می‌کنیم، تابع اصلی با this=null فراخوانی می‌شود.