자바스크립트는 함수가 실행될때마다, 현재 실행되는 함수에 대한 관련 정보를 컴퓨터 메모리에 저장한다. 이것을 Execution Context(실행 컨텍스트)라고 한다.
function addCurry(x) {
return function add(y) {
return x + y;
};
}
const addFive = addCurry(5);
const result = addFive(1);
console.log(result); // 6
위 예제에서 함수 실행문은 총 2개
addCurry(5);
addFive(1);
두 실행문에 대한 관련 정보를 컴퓨터에 저장한다.
두개의 함수 실행문에 대한 실행 컨텍스트는 각각 아래와 같은 정보를 담고 있다.
this
정보💥 addCurry(5);
에 대한 실행 컨텍스트
x
에한 값, 5add
함수this
정보💥 addFive(1);
에 대한 실행 컨텍스트
y
에한 값, 1addCurry(5)
의 스코프 라는 정보this
정보