
자바스크립트는 함수가 실행될때마다, 현재 실행되는 함수에 대한 관련 정보를 컴퓨터 메모리에 저장한다. 이것을 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 정보