Size: a a a

2021 January 05

w

whyamsx in javascript_ru
получается при новом бинде this уже никуда не будет подставляться
источник

DM

Denys Mikhalenko in javascript_ru
и если ты вызовешь теперь эту новую, которую тебе bind вернул, то она вызовет foo и сунет ей в this хелло
источник

w

whyamsx in javascript_ru
он уже применится и вместо this там будет то, ЧТО в this
источник

DM

Denys Mikhalenko in javascript_ru
но допустим ты сделал второй bind
источник

DM

Denys Mikhalenko in javascript_ru
bound.bind('bye')
источник

DM

Denys Mikhalenko in javascript_ru
что получится? а вот что
источник

w

whyamsx in javascript_ru
прежний результат
источник

w

whyamsx in javascript_ru
?
источник

w

whyamsx in javascript_ru
от первоначального бинда
источник

DM

Denys Mikhalenko in javascript_ru
function bound2() {
 bound.call('bye')
}
а посмотрим, что делает bound
function bound() {
 // в `this` будет 'bye', да вот только this этой функции не используется
 foo.call('hello')
}
источник

w

whyamsx in javascript_ru
да
источник

w

whyamsx in javascript_ru
я так и понял
источник

w

whyamsx in javascript_ru
whyamsx
он уже применится и вместо this там будет то, ЧТО в this
вот это то что я имел в виду
источник

DM

Denys Mikhalenko in javascript_ru
поэтому у стрелочных функций не работает bind
источник

DM

Denys Mikhalenko in javascript_ru
потому что он уже сделан
источник

DM

Denys Mikhalenko in javascript_ru
вот и все
источник

w

whyamsx in javascript_ru
спасибо Денис
так мне реально всё понятно
недопонятых моментов вроде как нет
источник

DM

Denys Mikhalenko in javascript_ru
объяснил на пальцах
источник

w

whyamsx in javascript_ru
идеальное объяснение как по мне!
источник

DM

Denys Mikhalenko in javascript_ru
👍
источник