연습장

실행 컨텍스트 본문

기타

실행 컨텍스트

js0616 2024. 7. 28. 23:03

https://www.youtube.com/watch?v=QkCNba92Vqo

 

 

 

요약: 실행 컨텍스트는 코드가 실행되는 환경

 



자바스크립트에서 코드 처리 과정


소스코드 -> 평가(evaluation) -> 실행 컨텍스트 -> 실행(excutation) -> 결과

 

 

  • 소스코드:
    • JavaScript 코드 자체를 말합니다. 이 코드는 함수 호출, 변수 할당 등 다양한 작업을 포함할 수 있습니다.
  • 평가 (Evaluation):
    • 실행 컨텍스트가 생성되기 전에 JavaScript 엔진이 코드를 평가합니다.
    • 평가 단계에서는 변수와 함수 선언을 메모리에 등록하고, 스코프 체인을 설정합니다.
    • 변수는 초기화되지 않고 단순히 등록되며, 함수는 정의되어 호출 가능한 객체로 만들어집니다.
  • 실행 컨텍스트 (Execution Context):
    • 평가가 완료되면 실행 컨텍스트가 생성됩니다. 실행 컨텍스트는 코드의 실행 환경을 나타내며, 코드가 실행될 때 필요한 모든 정보를 포함합니다. 주요 구성 요소는 변수 환경, 렉시컬 환경, this 바인딩 등입니다.
  • 실행 (Execution):
    • 생성된 실행 컨텍스트를 바탕으로 JavaScript 엔진이 코드를 한 줄씩 실행합니다. 이 과정에서 변수에 값을 할당하거나 함수를 호출하고, 연산을 수행하여 원하는 동작을 실행합니다.
  • 결과 (Result):
    • 코드 실행이 완료되면 결과가 생성됩니다. 결과는 화면에 출력되는 것일 수도 있고, 변수에 할당되는 값일 수도 있습니다. 실행 결과는 사용자에게 보여지거나 다음 코드 실행의 일부로 사용될 수 있습니다.

 


실행 컨텍스트의 구조


1. Variable Environment
- 변수와 함수 선언을 저장하며, 실제 변수에 대한 바인딩을 관리합니다.


2. Lexical Environment
- 스코프 체인을 구현하며, 코드의 렉시컬 위치에 따라 변수에 접근 가능한 범위를 정의합니다.

3. This Binding
- this 키워드가 바인딩 되는 객체. 호출 방식에 따라 결정


식별자를 관리하는 스코프를 관리 : 렉시컬 환경
실행 순서를 관리하고 실행 순서를 보장 : 실행 컨텍스트 스택.

 

4가지 종류
전역 코드 -> 전역 실행 컨텍스트 
함수 코드 -> 함수 실행 컨텍스트 
eval 코드  -> eval 실행 컨텍스트 
모듈 코드 -> 모듈 실행 컨텍스트 

 

 

정리
실행 컨텍스트는 식별자를 등록하고 관리하는 스코프와 코드 순서관리를 구현한 내부 매커니즘으로, 

모든 코드는 실행 컨텍스트를 통해 실행되고 관리됩니다.

실행 컨텍스트는 자바스크립트 코드의 평가 과정 중에 생성됩니다.
실행 컨텍스트는 해당 코드가 실행되는데 필요한 여러 정보와 규칙을 담고 있으며, 이를 바탕으로 코드가 실행됩니다. 



'기타' 카테고리의 다른 글

Virtual DOM  (0) 2024.07.29
03. 면접대비 react  (0) 2024.07.29
이벤트 버블링, 핸들링  (0) 2024.07.28
async/await  (0) 2024.07.28
Promise  (0) 2024.07.28