[javascript] 함수 컨텍스트(function context)에 대해 알아보자.

함수 컨텍스트란 무엇인가

함수 컨텍스트는 JavaScript에서 함수가 실행될 때 생성되는 환경을 의미합니다. 이 환경은 함수가 호출되고 실행되는 동안의 정보를 담고 있으며, 변수, 매개변수, this 값, 렉시컬 환경 등을 포함합니다. 함수가 실행되면 해당 함수의 컨텍스트가 호출 스택에 푸시되고, 함수가 실행을 마치면 스택에서 팝됩니다.

전역 컨텍스트(global context)

전역 컨텍스트는 어떤 함수 안에서도 실행되지 않는, 가장 바깥쪽의 컨텍스트입니다. 스크립트가 처음 실행될 때 전역 컨텍스트가 생성되며, 전역 변수 및 함수, this 값 등을 포함합니다.

var globalVariable = 10;

function globalFunction() {
  console.log("This is a global function");
}

console.log(this); // 전역 컨텍스트의 this 값

호출 스택(call stack)

호출 스택은 함수의 컨텍스트들을 저장하는 스택으로, 현재 어떤 함수가 실행 중인지 추적하는 데 사용됩니다. 함수가 호출되면 해당 함수의 컨텍스트가 스택에 푸시되고, 함수가 리턴되면 스택에서 팝됩니다. 이를 통해 JavaScript 엔진은 실행 흐름을 관리합니다.

참조

  1. MDN Web Docs: Execution Context and Lexical Environment