튜터님께서 추천해주신 유튜버 코딩애플 영상 내용을 정리해봤다.
console.log(2)
)해주는 곳으로 '하나' 존재한다. 그래서 자바스크립트는 보통 single threaded라고 말한다.console.log(i)
) Heap이라는 공간에서 저장된 변수들을 찾아다가 사용한다.Ajax 요청 코드
, EventListener
, setTimeout
등은 잠깐 대기실에 보내 놓는다. 대기 끝난 코드들을 Queue에서 차례대로 줄을 세우고 Stack으로 하나씩 올려보낸다. 이때 Queue는 Stack이 비어있을 때만 올려보낸다.console.log(1+1)
setTimeout(function(){console.log(2+2), 1000})
console.log(3+3)
// 2
// 6
// 1초(1000) 쉬고
// 4
console.log(1+1)
setTimeout(function(){console.log(2+2), 0})
console.log(3+3)
// 2
// 6
// 여전히 4가 마지막. 무조건 setTimeOut은 대기실->Queue거쳐서-> Stack에 올라가기 때문