sonterix
@sonterix

Можно ли заменить этот if чем то более компактным?

Можно ли как то этот if сделать меньше сохраняя функционал? Он выглядит страшно и мне бы хотелось записать этот if как то более грамотно

const target = e.target;

if (target.classList.contains('checkoutMethod') || target.classList.contains('checkoutMethodImage') || target.classList.contains('checkoutMethodName') || target.parentNode.parentNode.classList.contains('checkoutMethodImage') || target.parentNode.classList.contains('checkoutMethodImage'))
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 2
eXcNightRider
@eXcNightRider
FullStack Web Developer | DevOps
const classNames = ['checkoutMethod', 'checkoutMethodImage', 'checkoutMethodName'];
if (classNames.some(className => target.classList.contains(className)) || target.parentNode.classList.contains(classNames[1]) || target.parentNode.parentNode.classList.contains(classNames[1])) {
}
Ответ написан
sim3x
@sim3x
function is_contains_checkouts_methods (target){
  return (target.classList.contains('checkoutMethod') || target.classList.contains('checkoutMethodImage') || target.classList.contains('checkoutMethodName') || target.parentNode.parentNode.classList.contains('checkoutMethodImage') || target.parentNode.classList.contains('checkoutMethodImage'));
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы