자바스크립트는 싱글 스레드(single-thread)다!
싱글 스레드 언어란, 호출 스택(Call Stack)을 하나만 사용하기 때문에 동시에 하나의 함수만 처리할 수 있다.
❓ 자바스크립트는 싱글 스레드인데 어떻게 비동기 처리를 할 수 있나?
👉 Web API가 비동기 코드 동작을 수행한다 !
자바스크립트는 웹 브라우저 혹은 Node.js의 자바스크립트 엔진에 의해 실행된다. 자바스크립트 엔진은 싱글 스레드이기 때문에 동기적 처리만 가능하지만, Web API에서 시간이 오래걸리거나 사용자의 이벤트를 기다려야 하는 코드, ajax로 http요청 하는 등 시간을 소요하는 작업을 수행하는 공간이다.