참고 영상 https://youtu.be/ZIKZAhToJSQ
함수의 동작이 스택의 동작(후입선출, LIFO)과 같다고 call stack(호출 스택)이라고 부른다.
함수를 호출 할 때마다 call stack에 해당 함수를 쌓는다. 가장 마지막에 들어간 함수가 먼저 실행 되고 실행을 마친 함수는 스택에서 사라진다.
ex)
function a(){
console.log('a')
}
a 라는 함수가 호출되면 콜스택에 호출된 함수 a가 쌓이고 그 위에 console.log('a')가 쌓인다.
가장 나중에 call stack에 쌓여서 맨 위에 있는 console.log('a')를 먼저 실행 ☞ 실행을 마쳤으니까 스택에서 삭제 ☞ call stack 에서 console.log('a') 아래에 있던 함수 a는 함수의 기능을 다 했으니까 스택에서 삭제 된다.