자바스크립트의 동작 원리

클배클·2023년 9월 28일

Java Script는 싱글 쓰레드 언어이다.

  • 한번에 한가지 일처리만 가능함 (Call Stack)

Java Script 엔진은 Memory Heap / Call Stack으로 나눠진다

  • Memory Heap
    - 데이터를 임시 저장한는 곳, 함수 or 변수 or 함수 실행 후 나오는 값들을 저장
  • Call Stack
    - 코드가 실행되면 코드의 내부의 실행 순서를 기록 해두고 하나씩 순차적으로 진행을 도와주는 곳

다음 동작을 할때까지 기다리기만 할수없어 이럴떄는 "비동기 콜백"을 사용
[Web API, Callback Queue, Event Loop]

  • Call Back Function - 함수가 정해놓은 일을 끝난 뒤, 후속으로 하는 일을 알려주는 함수

  • Browser Web API - 브라우저에서 오래걸리는 작업을 따로 대신 작업을 해주는 역할
    [DOM event, AJAX request, setTimeout]등 비동기 이벤트 처리

    Browser Web API를 사용하면 Javascript 싱글 쓰레드의 영향을 받지안고 독립적으로 이벤트 처리를 할수있다.

  • Call Back Queue - Browser Web API에 있는 EVENT가 실행되고 나면 실행할 CallBack을 저장하고 있는 장소

  • Event Loop - 주기적으로 Call Stack이 비워져있는지 주기적으로 확인하여 Call Back Queue에서 Call Back Function을 가져와 Call Stack에서 Javascript가 실행할수 있게 도와주는 역할

0개의 댓글