더북(TheBook)
const clickButton = () => {
  clearInterval(intervalId);
  $rock.removeEventListener('click', clickButton);
  $scissors.removeEventListener('click', clickButton);
  $paper.removeEventListener('click', clickButton);
  // 점수 계산 및 화면 표시
  setTimeout(() => {
    $rock.addEventListener('click', clickButton);
    $scissors.addEventListener('click', clickButton);
    $paper.addEventListener('click', clickButton);
    intervalId = setInterval(changeComputerHand, 50);
  }, 1000); 
};

두 번째는 이벤트를 제거하는 대신에 함수가 아무 일도 하지 않게 하는 방법입니다. clickable이라는 변수를 만들고 버튼을 클릭한 동안에는 이 변수를 false로 만듭니다. 이때 if 문의 조건식이 false가 되므로 버튼을 클릭해도 코드가 실행되지 않습니다. 1초 뒤에 타이머를 재개할 때 clickable을 다시 true로 만들어 if 문 내부 코드가 실행될 수 있게 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.