let hasFlippedCard = false;
let firstCard, secondCard;
const flipCard = () => {
this.classList.add('flip'); // здесь ошибка
if (!hasFlippedCard) {
hasFlippedCard = true;
firstCard = this;
};
};
cards.forEach(card => card.addEventListener('click', flipCard));
не знаю, как это исправить, кроме как переделать функцию на ES5, но хотелось бы оставить стрелочную
cards.forEach(card => card.addEventListener('click', flipCard));
— в корне неправильный подход. Почитайте про делегацию событий. Вкратце — навешиваем обработчик на cards
, а в обработчике смотрим, куда именно кликнули и соответственно обрабатываем.