Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 누구나 자료구조와 알고리즘
- utilty type
- 성능최적화
- 공통컴포넌트
- NonNullable
- CSS
- javascript
- returnType
- 개발콘텐츠
- TSDoc
- React Native
- reactjs
- React.js
- 타입스크립트
- 제네릭
- react
- 2022
- 레이아웃쪼개기
- vue.js
- 타입좁히기
- const 단언문
- 리액트
- Chart.js
- click and drag
- 반복줄이기
- typescript
- JS console
- 티스토리꾸미기
- 폰트적용하기
- 커스텀
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript] 호출 스택(call stack) 본문
출처
🚀 호출 스택(call stack)
◽ call stack이란?
실행 콘텍스트의 논리적 구조이다.
◽ first in last out 순서 (=계단형 구조, FILO)
함수가 호출되면 스택의 가장 위에 실행 콘텍스트가 위치하게 된다.
function one() {
two();
};
function two() {
three();
};
function three() {};
one();
예를 들어, 위의 코드에서 one()이 호출되면 one()의 실행 콘텍스트가 스택의 가장 위에 놓인다.
여기서 one()에서 호출하는 two()가 실행되면 two()가 가장 위에 놓인다.
따라서 가장 위에 있는 것이 실행하고 있는 함수이며, 실행 콘텍스트라 할 수 있다.
three()까지 스택에 쌓인 후 three()가 실행되고 함수가 종료되면 스택에서 빠져나온다.
이 때, 가장 아래에는 글로벌 오브젝트인 one() 함수가 위치하고 있다.
◽ 이런 구조가 가능한 이유
자바스크립트는 싱글 스레드이기 때문이다.
◽ call stack 구조를 보는 방법
디버거를 건 후, 개발자 도구의 Sources 탭 오른쪽에서 [call stack]탭을 확인한다.
'Development > Javascript' 카테고리의 다른 글
[Javascript] 글로벌 오브젝트(Global Object) (0) | 2021.07.07 |
---|---|
[Javascript/ES6+] Javascript의 스펙 (0) | 2021.07.07 |
[Javascript] 실행 콘텍스트 상태 컴포넌트 (0) | 2021.07.07 |
[Javascript] 환경레코드와 글로벌 환경 (0) | 2021.07.07 |
[Javascript/ES6+] for문에서의 let과 var (0) | 2021.07.07 |
Comments