[javascript] 실행 컨텍스트의 생성과 소멸 과정은 어떻게 되는가?
자바스크립트에서 실행 컨텍스트는 코드가 실행될 때 생성되고 소멸되는데, 이는 코드가 실행될 때마다 반복됩니다.
1. 실행 컨텍스트의 생성
실행 컨텍스트는 다음과 같은 상황에서 생성됩니다:
- 전역 코드가 실행될 때
- 함수가 호출될 때
eval
함수가 실행될 때
컨텍스트는 다음의 정보를 포함합니다:
- 변수 객체 (전역 컨텍스트인 경우에는 전역 객체)
- 스코프 체인
- this 값
실행 컨텍스트가 생성될 때, 변수와 함수 선언이 메모리에 저장되고 변수에는 undefined
가 할당됩니다.
2. 실행 컨텍스트의 소멸
실행 컨텍스트는 다음과 같은 상황에서 소멸됩니다:
- 코드 실행이 완료된 후 (전역 코드의 경우)
- 함수 실행이 완료된 후 (함수 코드의 경우)
소멸된 실행 컨텍스트의 변수 객체와 스코프 체인은 가비지 컬렉션의 대상이 됩니다.
요약
자바스크립트에서 실행 컨텍스트는 코드 실행의 환경을 정의하며, 코드 실행의 맥락을 이해하는 데 도움을 줍니다. 실행 컨텍스트가 생성될 때는 해당 코드 블록의 환경이 설정되고, 실행이 완료된 후에는 해당 환경이 소멸됩니다.
이러한 실행 컨텍스트의 생성과 소멸 과정을 이해하면, 자바스크립트 코드의 실행 흐름을 더 잘 이해할 수 있습니다.