Execution Context

하태현·2020년 11월 15일
0

javascript

목록 보기
13/23
post-thumbnail

Execution Context(실행 컨텍스트)

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

두 실행문에 대한 관련 정보를 컴퓨터에 저장한다.

두개의 함수 실행문에 대한 실행 컨텍스트는 각각 아래와 같은 정보를 담고 있다.

  1. 변수 정보(일반 변수, 매개 변수, 함수 선언 등)
  2. 스코프 정보
  3. this 정보

💥 addCurry(5);에 대한 실행 컨텍스트

  1. 변수 정보
    • 매개 변수 x에한 값, 5
    • 선언되어 생성된 add함수
  2. 스코프 정보
    • 상위 스코프는 글로벌 스코프라는 정보
  3. this 정보
    • 일반함수 실행이기 때문에 Global Object

💥 addFive(1);에 대한 실행 컨텍스트

  1. 변수 정보
    • 매개 변수 y에한 값, 1
  2. 스코프 정보
    • 상위 스코프는 addCurry(5)의 스코프 라는 정보
  3. this 정보
    • 일반함수 실행이기 때문에 Global Object
profile
왜?를 생각하며 개발하기, 다양한 프로젝트를 경험하는 것 또한 중요하지만 내가 사용하는 기술이 어떤 배경과 이유에서 만들어진 건지, 코드를 작성할 때에도 이게 최선의 방법인지를 끊임없이 질문하고 고민하자. 이 과정은 앞으로 개발자로 커리어를 쌓아 나갈 때 중요한 발판이 될 것이다.

0개의 댓글