더북(TheBook)
function onClickCard() {
  (중략)
  // 두 카드의 색이 다르면
  clickable = false;
  setTimeout(() => {
    clicked[0].classList.remove('flipped'); // flipped 클래스 제거
    clicked[1].classList.remove('flipped'); // flipped 클래스 제거
    clicked = []; // 클릭 배열 비우기
    clickable = true;
  }, 500);
}

자바스크립트로 코딩하다 보면 비동기 함수를 정말 많이 사용하게 됩니다. 물론 중간에 동기 함수도 섞여 있고요. 따라서 함수들의 실행 순서를 알고 있어야 자신이 원하는 대로 작동하는 프로그램을 만들 수 있습니다.

호출 스택과 이벤트 루프 원리를 여태껏 만든 모든 게임에 적용해 보세요. 머리가 아프겠지만, 작동 원리를 파악하는 것도 훈련해야 합니다. 이 과정을 익히면 모든 코드의 작동 순서를 파악할 수 있습니다.

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