Есть ли смысл использовать объект в слушателе событий? - PullRequest
0 голосов
/ 18 июня 2020

Я видел людей, использующих объект вместо функции в addEventListener(eventName, objInsteadOfFunction). Почему это могло быть? Это только похоже на необходимость наличия состояния.

const TbodyApp = {
    handleEvent: handleTbodyClick,
    curElementSelectionState,
    handleTrClick: function init() {
        return handleTrClick.bind(this,
            getRenderDecisions, getNewState, renderChangesBound);
    },
    isTargetValidForTrClickHandler,
    isTrClickHandlerToBeActivated
};
TbodyApp.handleTrClick = TbodyApp.handleTrClick();

Я попытался использовать объект, и некоторые функции стали иметь меньше параметров и вместо этого начали использовать это. Вдобавок ко всему, мне пришлось сделать гимнастику, как в приведенном выше коде, чтобы инициализировать объект.

function handleTbodyClick(evt) {
    const target = evt.target;

    if (this.isTargetValidForTrClickHandler(target)) {
        this.isTrClickHandlerToBeActivated(evt, target);
    }
}

this-es в этой функции были параметрами и теперь находятся в объекте. Это только усложняет тестирование, а код - более запутанным. Есть ли смысл использовать объект вместо функции в прослушивателе событий?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...