Я ломаю голову над каррированием и другими методами с использованиемFunction.prototype.bind
.
Кажется чрезвычайно полезным изменить область действия функции (т. е. это
значение) в определенных ситуациях.
Однако похоже, что вы не можете изменить область действия с помощью bind
после того, как вы это уже сделали:
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
Возможно ли вообще получить исходную несвязанную функцию из связанной функции?