JavaScript, jQuery

JavaScript setTimeout vs setInterval 차이점과 실무에서의 활용 예제

jonbeo 2025. 11. 19. 10:28
반응형

 

 

오늘은 자바스크립트(JavaScript)를 활용한 시간 제어 함수인

setTimeout과 setInterval에 대해 자세히 알아보겠습니다.

이 두 함수는 웹 개발 실무에서 매우 자주 사용되며,

타이머 관련 기능을 구현할 때 유용하게 활용됩니다.


✅ 1. setTimeout이란?

setTimeout은 일정 시간이 지난 후에 단 한 번 특정 작업을 실행하도록 예약하는 함수입니다.

 
setTimeout(() => {
  console.log('3초 후에 실행됩니다!');
}, 3000);

 

📌 위 코드는 3초(3000ms) 후에 콘솔에 메시지를 출력합니다.


✅ 2. setInterval이란?

setInterval은 일정 시간 간격으로 계속 반복해서 특정 작업을 실행하도록 예약하는 함수입니다.

 
setInterval(() => {
  console.log('2초마다 실행됩니다!');
}, 2000);

 

📌 위 코드는 2초마다 계속해서 콘솔에 메시지를 출력합니다.


✅ 3. 실무 활용 예제

💡 setTimeout 실무 예: 로그인 실패 후 일정 시간 후에 다시 로그인 시도 안내
💡 setInterval 실무 예: 실시간 시계, 실시간 데이터 폴링


⚠️ 주의할 점

  • setInterval은 작업 시간이 길어지면 중첩 실행이 발생할 수 있어 주의해야 합니다.
  • setTimeout을 재귀적으로 호출하면 setInterval처럼 주기적인 동작도 구현할 수 있습니다.
 
function repeat() {
  console.log('2초마다 실행되지만 정확한 간격으로 실행됨');
  setTimeout(repeat, 2000);
}
repeat();

 

이 방식은 작업이 끝난 후 다음 실행을 예약하기 때문에 더 안정적인 간격 유지가 가능합니다.


✅ 어떤 걸 언제 써야 할까?

상황 추천 함수
단일 지연 실행 setTimeout
반복 작업 (정확도보다 반복 중요) setInterval
반복 작업 (정확한 간격 필요) setTimeout + 재귀

 

반응형