더북(TheBook)

이번에는 두더지가 올라왔다가 내려가는 동작을 반복하게 하겠습니다. 1초마다 tick() 함수를 반복 호출하도록 수정하면 tick() 함수는 빈 구멍을 찾아 두더지를 보여 줍니다.

console.log('시작');
const tickId = setInterval(tick, 1000); // 1초마다 반복
tick();

기존 tick() 함수 호출을 남겨 둔 이유는 setInterval()의 콜백 함수로 넣은 tick() 함수가 1초 뒤에 실행되기 때문입니다. 게임이 시작하자마자 tick() 함수가 실행되게 하려면 한 번은 직접 호출해야 합니다. 그런데 실행해 보면 두더지가 한 번 올라왔다 내려간 뒤로 다시는 올라오지 않습니다. 왜 그럴까요?

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