Зачем нужно частичное применение в функциях-обработчиках событий? — Q&A Хекслет
2026-02-26 18:37 Diff

Часто используется частичное применение в обработчиках событий, например

Почему вообще нужна функция обертка handler(). Почему нельзя сразу выполнить все нужные действия обработчиком?

Ответы

Это бывает нужно когда нам нужно передать какие-то дополнительные данные в обработчик. Представьте например таблицу и нужно написать обработчик клика по ячейкам в этой таблице. У каждой ячейки свои координаты, но при этом обработка для всех одинаковая, меняются только координаты. Если не делать частичное применение, то возникает вопрос: как передать координаты в обработчик?

Конечно мы можем извратиться и передать нужные данные через атрибуты, и потом в евенте, через event.target получить доступ к этим данным.

Но это не всегда удобно, особенно если нужно передать что-то большее. Гораздо лучше тут использовать частичное применение: