Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2022, 17:51
Новичок на форуме
Отправить личное сообщение для Evgeniya S Посмотреть профиль Найти все сообщения от Evgeniya S
 
Регистрация: 12.10.2022
Сообщений: 5

Избежать дублирование кода. Объеденить условия.
Я прям новичок, в этой сфере и прошу помощи у ассов. Необходимо убрать дублирование кода и объединить условия. Как лучше это сделать и какая польза от этого?

setEventListeners() {
this._popupItem.addEventListener('mousedown', (evt) => {
if (evt.target.classList.contains('popup__opened')) {
this.close();
} else if (evt.target.classList.contains('popup__button-close')) {
this.close();
}
})
}
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2022, 19:13
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

setEventListeners() {
  this._popupItem.addEventListener('mousedown', (evt) => {
    const { classList } = evt.target;
    if (classList.contains('popup__opened') || classList.contains('popup__button-close')) {
      this.close();
    }
  })
}

Польза - не писать одно и то же.

Ещё так можно, но обычно это на случай если проверок одинаковых больше двух:
setEventListeners() {
  this._popupItem.addEventListener('mousedown', (evt) => {
    if (['popup__opened', 'popup__button-close'].some(name => evt.target.classList.contains(name)) {
      this.close();
    }
  })
}
__________________
29375, 35

Последний раз редактировалось Aetae, 12.10.2022 в 19:15.
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2022, 01:49
Новичок на форуме
Отправить личное сообщение для Evgeniya S Посмотреть профиль Найти все сообщения от Evgeniya S
 
Регистрация: 12.10.2022
Сообщений: 5

Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как полностью избежать написания спагетти кода в nodejs? ками Node.JS 3 02.06.2018 18:38
Условия is и not - разная реакция при одном построении кода Ленча jQuery 2 01.07.2017 14:31
Дублирование кода ureech Элементы интерфейса 2 19.02.2016 18:57
Как избежать повторения кода Эдди jQuery 4 02.08.2014 22:33
Дублирование javascrip кода MTapac Общие вопросы Javascript 2 03.09.2012 17:46