자바스크립트 동작 방식
자바스크립트는 단일 스레드 방식으로 한 번에 하나의 작업만 처리 가능
자바스크립트 엔진 V8 구조
Memory Heap
메모리 할당이 일어나는 곳
Call Stack
코드 실행에 따라 스택이 쌓이는 곳(후입 선출 LIFO)
자바스크립트 동작환경(Runtime)
Web APIs
DOM, AJAX, Timer 등 브라우저에서 제공하는 API
Callback Queue
콜백 함수들이 대기하는 곳(선입 선출 FIFO)
호출 스택(Call Stack)
웹 브라우저의 자바스크립트 인터프리터 역할
현재 함수의 동작 및 다음 함수 호출 부분 등을 제어
Event Loop
Call Stack이 비워질 때마다 Collback Queue에 대기중인 콜백함수가 있을 경우,
Callback 함수를 Call Stack에 전달 -> 이 한 번의 작업을 틱(tick)이라고 표현
비동기 콜백(Asynchronous callback) 사용 -> 싱글 스레드 한계 보완 목적
비동기 콜백 종류
Web APIs, ES6의 Promise

'Frontend > JavaScript' 카테고리의 다른 글
[JavaScript] 일반 함수 vs 화살표 함수 (0) | 2024.08.06 |
---|---|
$(document).ready() 와 window.onload 의 차이점 (0) | 2024.07.01 |
[JavaScript] 디바운싱과 쓰로틀링 (0) | 2024.01.31 |
window 객체의 opener 사용하기 (0) | 2023.10.15 |
자바스크립트 null, undefined, NaN의 차이 (0) | 2023.10.08 |