반응형
간단정리 |
자바스크립트는 단일 스레드 이므로 한 번에 한 가지 작업 밖에 하지 못한다. 즉 자바스크립트는 근본적으로는 동기적 언어이다 다시 말해 하나의 일을 시작하면, 이 일이 다 끝나야지만 다음 일을 시작하는 것이다.
이러한 특성에 의거하여 자바스크립트는 함수를 호출하면 호출 스택이라는 곳의 젤 밑바닥 부터 호출된 함수들이 쌓인다. 그리고 쌓인 스택들은 처음에 들어온 순서대로 사용되는 것이 아니라 스택의 꼭대기에 쌓인(마지막으로 들어온) 함수부터 차례대로 처리한다
예외적으로 자바스크립트는 비동기적 작업을 수행할 수 있는데, 만일 오래 걸리는 코드(setTimeout 등의 비동기적 함수)가 있다면 이를 웹 API에서 처리 후 콜백 큐에서 대기하고 있다가 이전에 먼저 실행된 코드가 완료될 때 까지 기다렸다가 호출 스택으로 다시 돌아와서 마저 실행된다. |
이론적으로 이게 무슨 말인가 싶다면, 이것을 직접 확인할 수 있는데, 아래와 같이 디버깅 도구를 활용하는 것이다.
반응형
'자바스크립트' 카테고리의 다른 글
[javascript] npm 과 package, package.json (1) | 2022.12.22 |
---|---|
[javascript] 브라우저 pageX,Y / clientX,Y 등 참고하려고 만든 자료 (0) | 2022.12.20 |
[javeScript] 간단한 자동 슬라이드 (0) | 2022.12.17 |
[javascript] 배열에서 특정한 문자열을 포함한 경우만 뽑아 보았다. (0) | 2022.12.12 |
[javaScript] 프로미스(Promise)에 대해 알아보았다(1)ㅣstate 프로퍼티 까지만 (0) | 2022.12.12 |