더북(TheBook)

그림 13-8 startGame( ) 함수 호출 시 호출 스택과 이벤트 루프 3

setTimeout()이 호출되고 나면 startGame() 함수가 종료됩니다. 타이머들이 백그라운드에 남아 있어서 끝나지 않았다고 생각할 수도 있지만, 호출 스택에서는 동기 코드만 따져야 합니다. 동기 코드가 모두 끝났으니 호출 스택에서 지워지고, 전체 소스 코드의 동기 부분도 끝났으니 anonymous() 함수도 호출 스택에서 지워집니다. 호출 스택은 이제 비어 있는 상태입니다.

그림 13-9 startGame( ) 함수 호출 시 호출 스택과 이벤트 루프 4

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