본문 바로가기
boostcource/boostcourse_web programming

[JavaScript] javascript -5

by sgyeong 2024. 4. 11.

함수 호출

 

 

메모리에서는 우측의 Call Stack에서와 같이 순서대로 쌓이게 된다.

bar 함수에서 foo를 호출한 후 foo 함수의 결과를 받아올 때까지 bar 함수는 메모리 공간에서 사라지지 못하고 기다리고 있는 것이다. foo의 경우에는 실행이 끝나고 return문이 실행되면 메모리 공간에서 사라진다. 다시 말해 Call Stack에서 없어지는 것이다.

 

 

call stack은 이렇게 동작하지만 함수를 연속적으로 계속 호출하면 call stack이 꽉 차버려서 더이상 실행되지 못하고 오류가 발생할 것이다. 브라우저에서는 대부분 지정된 횟수만큼만 call stack을 쌓게 미리 설정해둔 경우가 많다고 한다. 
따라서 개발중에 Maximum call stack size exceeded 오류를 발견해도 놀라지 않고 침착하게 대처해야 한다.

 

 

 

 

참고 :  boostcourse    https://www.boostcourse.org/web316/lecture/16696?isDesc=false

 

웹 프로그래밍(풀스택)

부스트코스 무료 강의

www.boostcourse.org

 

'boostcource > boostcourse_web programming' 카테고리의 다른 글

DOM과 querySelector  (0) 2024.04.12
Window 객체 (setTimeout)  (0) 2024.04.12
[JavaScript] javascript -4  (0) 2024.04.11
[JavaScript] javascript -3  (0) 2024.04.11
[JavaScript] javascript -2  (0) 2024.04.11