function add(x, y) {
return x + y;
}
function add2(x) {
return add(x, 2); // add 호출
}
function add2AndPrint(x) {
const result = add2(x); //add2 호출
console.log(result); //console.log 호출
}
add2AndPrint(3); // add2AndPrint 호출
호출 스택에 쌓이는 과정을 설명한다.
add2AndPrint()
가 호출 스택에 쌓인다.add2()
가 다음으로 쌓인다.add()
가 맨 위에 쌓인다.add()
가 실행되고 add2()로 돌아간다.add2()
가 실행되고 add2AndPrint()
안에서 실행되어야 할 함수는 console.log
다.console.log()
가 실행되고 add2AndPrint()
가 종료된다.execution context
라고 한다.execution context
에 저장되는 항목 this
가 가리키는 객체웹 브라우저는 호출 스택에 실행 맥락이 존재하는 동안, 즉 실행 중인 함수가 존재하는 동안에는 먹통
원활한 작업을 위해 브라우저는 오래 걸리는 일을 이벤트 루프를 이용하여 처리할 수 있다.