본문 바로가기
JavaScript

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

by eddypark 2023. 10. 17.

(1) 실행 컨텍스트란

- scope, hoisting, this 등의 동작원리를 담고 있는 javascript의 핵심 원리이다.

- 즉, 실행 가능한 코드가 실행되기 위해 필요한 환경이다.

- LIFO 구조이다.

- 실행 컨텍스트의 종류는 전역, 함수, eval

- 전역 컨텍스트는 측정 함수가 실행되지 않는 한 모든 스크립트는 전역 컨텍스트에서 실행된다. 전역 객체로 window가 할당된다.

- 함수 컨텍스트는 함수가 실행될 때마다 실행 컨텍스트가 생성되고, 함수가 동작이 끝나면 삭제된다. 호출이 되어야지만 생성이 된다.

var x = 'xxx';

function foo () {
  var y = 'yyy';

  function bar () {
    var z = 'zzz';
    console.log(x + y + z);
  }
  bar();
}
foo();

(2) 실행 컨텍스트 객체

- Variable object는 변수, 매개변수, 인수 정보, 함수 선언(함수 표현식은 제외)의 정보를 담는 객체이다. 코드가 실행될 때 참조되며 코드에서는 접근할 수 없다.

- Scope chain(SC)는 해당 전역 또는 함수가 참조할 수 있는 변수, 함수 선언 등의 정보를 담고 있는 전역 객체의 리스트를 가리킨다.

- this value는 this프로퍼티에 할당되는 this 값이다.

'JavaScript' 카테고리의 다른 글

[JavaScript]객체 지향 프로그래밍  (0) 2023.10.18
[JavaScript]클로저(closure)  (0) 2023.10.18
[JavaScript] this  (1) 2023.10.17
[JavaScript] Strict mode  (0) 2023.10.16
[JavaScript] 스코프(Scope)  (0) 2023.10.16