들어가기에 앞서 자바스크립트는 동기 언어임을 알고 가자
(어떤 작업이 시작되면 다른작업은 멈추고 자신의 차례를 기다린다, 한번에 하나의 작업 수행)
-단일스레드 라고도 함
-그냥 자판기 줄에 선 사람들이 순서대로 이용하는것과 유사하다.
Synchronous : 동시에 발생한다는 뜻
Memory heap과 call stack에 대해서 찾아보자
Memory heap ?
변수와 객체의 메모리를 할당하는곳
call stack ?
함수를 호출하면 call stack에 순서대로 쌓인다.
맨마지막에 쌓인 함수부터 반환하게 된다.
Last In First Out
asynchronous : 비동시성
동기식은 현재작업이 끝나지않으면 유지한채 순서를 기다렸다면,
비동기는 바로 다음동작이 실행된다.
웹 페이지를 로드할 때 어떠한 작업에서 20초 이상이 걸리게 되면
그 작업을 끝낼때 까지 화면에 로드되지않거나, 다른 작업에 영향을 주게됨.
결과적으로 느리다.