تابع پیوند زده شده به عنوان متد
اهمیت: 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
فراخوانی میشود.