JavaScript

노마드코더 : JS 핵심 컨셉 33 -1. Call Stack

식초 2020. 11. 4. 09:55

Call Stack - 자바스크립트의 함수 실행 핸들 방법, 쌓은 덩어리 

 

-자바스크립트는 함수를 스택 위에 올린다

-함수를 다 실행하면 제거한다

-스택을 다 처리하면 실행할 것이 없다 

-자바스크립트의 todo list 같은 것

 

 

 

zero는 one을 부르고, one은 two를 부르고, two는 three를 부르고, three는 console.log(내용)

콘솔에서 결과는 i love js 라고 뜬다

 

 

 

Sources에서 함수 실행을 일시멈춤한다

call stack 항목을 본다 , 한 단계식 진행할수록 끝내야 하는 함수 리스트 보여준다

이름모를 함수 -> zero함수 -> one 함수 -> two 함수 -> three 함수

콘솔로그 만나면 출력

-> three 함수 끝남 (콘솔에 내용 출력)

 

끝난 함수는 사라짐 -  함수는 return, 실행 완료되면 끝난것이다

 

 

 

zero함수에서 에러가 있다면?

call stack 끝내야 하는 리스트

three 함수 완료 -> two 함수 완료 -> one 함수 완료(에러 발생, 끝남)

 

콘솔에러 출력 : one함수 완료되었을 때

 

 

 

three 함수(최 상단)에서 에러가 있다면?

call stack 끝내야 하는 리스트

three 함수 완료(에러 출력, 끝남)

콘솔 에러 확인 : 에러 전에 있던 모든 콜스택 알려준다

three 함수에서 에러 발생했고, three함수는 two 함수에 의해 불려졌고...블라블라

 

 

 

함수 두 개가 서로를 부를때,

에러 메세지가 뜬다 : 맥시멈 콜스택 사이즈를 초과했다