콜 스택(call stack)이란 실행이 되었을 때 호출이 되는 것들이 메모리에 적재되고
마치 스택과 같은 구조로 적재되는 것입니다.
실행 컨텍스트라고도 하는 이것은 자바스크립트의 동작원리 라고 볼 수 있습니다.
함수선언이 다음과 같이 되어있다고 가정합니다
function first(){
second();
console.log("first");
}
function second(){
third();
console.log("second");
}
function third(){
console.log("third");
}
first();
실행이 되면 다음과같이 아래서부터 호출스택이 쌓이게 됩니다.
third |
second |
first |
main |
메인에서부터 third까지 호출되는 순서대로 하나씩 쌓이고
실행이 될때는 third부터 역순으로 실행이됩니다.
실행이 끝나면 그 함수영역은 스택에서 pop이 되게 됩니다.
보통 1만개 정도의 스택을 쌓을 수 있다고 생각하면 되고
그 이상을 쌓으면 오류가 발생하기도 하고 메모리를 과도하게 사용하는
비효율적인 프로그램이 될 수도 있기 때문에 주의해야합니다.
'웹 개발' 카테고리의 다른 글
프록시 (0) | 2021.03.14 |
---|---|
정적 코드 분석, Static Code Analysis (0) | 2020.09.23 |
복수 배열 독립 디스크(Redundant Array of Independent Disks, RAID) (0) | 2020.07.10 |
자바스크립트 - 호이스팅 (0) | 2020.01.02 |
자바스크립트 - 함수 선언 (0) | 2020.01.02 |