JavaScript
는 싱글 스레드 구조로, 한 번에 하나의 작업만 처리setTimeout
setTimeout(callback, delay);
callback
: 지연 후 실행할 코드delay
: 실행 지연 시간 (밀리초)
[ 예시 코드 ]
function printMessage(number) {
console.log(number);
}
printMessage(1);
setTimeout(() => {
printMessage(2);
}, 1000);
printMessage(3);
// 실행 결과: 1, 3, 2
실행 과정
printMessage(1)
: 함수 즉시 실행setTimeout
: printMessage(2)
를 1초 후 실행하도록 등록printMessage(3)
: 함수 즉시 실행printMessage(2)
실행웹 브라우저 또는 Node.js
환경이 제공하는 비동기 기능(setTimeout
, fetch
등) 처리
JavaScript
코드 실행 환경과 분리된 멀티 스레드 환경
JavaScript
코드 실행 영역아래 사진은 제가 이해한 점을 토대로 Keynote에 작성한 내용입니다.
혹여나 틀린 내용이 있다면 편하게 말씀 부탁드립니다.