Among Us - Crewmates
 

[JavaScript] 실행 컨텍스트 (Execution Context)

728x90

실행 컨텍스트 (Execution context)

  • 실행 컨텍스트 혹은 실행 맥락은, 자바스크립트 코드가 실행되는 환경.
  • 코드에서 참조하는 변수, 객체(함수 포함), this 등에 대한 레퍼런스가 있다.
  • 실행 컨텍스트는 전역에서 시작해, 함수가 호출될 때 스택에 쌓이게 된다.

 

 

실행 컨텍스트 스택

 

let a = 10
function f1() {
    let b = 20
    function print(v) { console.log(v) }
    function f2() {
        let c = 30
        print(a + b + c)
    }
    f2()
}
f1()

 

  • print 실행 컨텍스트 : v
  • f2 실행 컨텍스트 : c
  • f1 실행 컨텍스트 : b, print, f2
  • global 실행 컨텍스트 : a, console, f1

 

호출되는 순서대로 (print -> f2 -> f1 -> gloabl)

call stack에서 위에서부터 제거가 된다.

 

 

전역 실행 컨텍스트, 함수 실행 컨텍스트

  • 자바스크립트가 실행될 때 전역 실행 컨텍스트 (Global Execution Context) 가 만들어진다.
  • 함수가 실행될 때 함수 실행 컨텍스트 (Function Execution Context) 가 만들어진다.

 

 

728x90
반응형