Synchronous & Asynchronous 이름 때문에 매번 헷갈리는 동기와 비동기. 대체 어떤게 동시에 일어난다는 걸까? '요청과 결과가 동시에 일어나는 것'이 바로 동기(Synchronous)이다. 그렇다면 비동기는? 요청과 결과가 동시에 일어나지 않는 것이다. 'call setTimeout' 이 실행하자마자 'after setTimeout'이 호출되지 않았다. 이것이 바로 비동기이다. 그런데 이상한 점을 발견했다. pending 상태의 Promise는 즉각적으로 실행되어야 할 것 같은데 그렇지 않았다. 이는 마이크로태스크라는 개념과 연관된다. MicroTask 비동기 작업을 처리하려면 적절한 관리가 필요한데, 이를 위해 ECMA에선 PromiseJobs 라는 내부 큐가 별도로 존재한다. V8에서는 이를 '마이크로태스크 큐(microtask queue)' 라는 용어로 부른다. 큐.. 큐라니? 내가 아는 건 스택이랑 힙 뿐이었는데 마이크로태스크 큐란 건