거의 모든 프로그래밍 언어에는 보이지 않는 곳에서 함수 호출을 관리하는 일종의 데이터 구조가 있다.
js 에서는 Call Stack(호출 스택) 에서 한다.
= Call Stack은 js의 보이지 않는 곳에서 작동하는 static data structure (정적 데이터 구조) 이다.
js가 return keyword(반환 키워드)를 확인하거나, 함수 안에 더이상 실행할 코드가 없으면,
compiler가 스택의 제일 위에 있는 항목을제거한다.
=> Call Sstack 는 종이 더미와 비슷하다고 생각하면된다. 제일 위에 있는 종이부터 쳐냄 (Stack)
wakeUp()을 실행시키면
Call Stack은 사진과 같이 wakeUp -> eatBreakfast -> cookFood 순으로 쌓이며,
제일 위에 있는 cookFood부터 제일 아래에 있는 wakeUp 순으로 위에서 아래로 함수가 처리된다.
본 내용은 작성자가 (Udemy) JavaScript 알고리즘 & 자료구조 마스터클래스 강의를 듣고 정리 및 메모한 내용입니다. 오역 및 오개념이 있을 수 있으니 바로잡기 위해 문제가 있는 경우 댓글 남겨주시면 매우 감사하겠습니다.
https://www.udemy.com/course/best-javascript-data-structures/
'Algorithm' 카테고리의 다른 글
[문제풀이] Recursion (0) | 2022.07.24 |
---|---|
Helper Method Recursion (+ Pure Recursion) (0) | 2022.07.24 |
재귀 (Recursion) (0) | 2022.07.24 |
[문제풀이] Frequency Counter / Multiple Pointers / Sliding Window (0) | 2022.07.23 |
문제 해결 방법 - Divide and Conquer (분할 정복) (0) | 2022.07.18 |