Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 처음 만나는 AI수학 with Python
- 티스토리 쿠키 삭제
- 데비안
- network configuration
- 친절한SQL튜닝
- 네트워크 설정
- 서버설정
- 처음 만나는 AI 수학 with Python
- 스프링부트핵심가이드
- 선형대수
- 이터레이터
- GIT
- 자료구조와함께배우는알고리즘입문
- ㅒ
- d
- iterator
- 페이징
- 코드로배우는스프링부트웹프로젝트
- resttemplate
- baeldung
- 코드로배우는스프링웹프로젝트
- 스프링 시큐리티
- /etc/network/interfaces
- 목록처리
- 자료구조와 함께 배우는 알고리즘 입문
- 자바편
- 구멍가게코딩단
- 리눅스
- 알파회계
- Kernighan의 C언어 프로그래밍
Archives
- Today
- Total
bright jazz music
자바스크립트의 실행 컨텍스트 2 (실행 컨텍스트 객체에 담기는 정보) 본문
실행 컨텍스트가 활성화될 때 자바스크립트 엔진은 해당 컨텍스트에 관련된 코드들을 실행하는 데 필요한 환경 정보들을 수집해서 실행 컨텍스트 '객체'에 저장한다. 이러한 객체는 자바스크립트 엔진이 활용할 목적으로 생성하는 것이며, 개발자가 확인할 수는 없다.
실행 컨텍스트 객체에는 아래와 같은 값들이 담기게 된다.
- VariableEnvironment
- LexicalEnvironment
- ThisBinding
1. VariableEnvironment
: 현재 컨텍스트 내의 식별자들에 대한 정보 + 외부 환경 정보 + '선언 시' LexicalEnvironment의 스냅샷이다.
실행 컨텍스트를 생성할 때 VariableEnvironment에 정보를 먼저 담은 다음, 이를 그대로 복사해서 LexicalEnvironment를 만든다. 이후에는 LexicalEnvironment를 주로 사용하게 된다. 어쨌든 두 값 모두 environmentRecord와 outerEnvironmentRecord로 구성돼 있다.
2. LexicalEnvironment
: VariableEnvironment를 복사해서 사용하는 정보. environmentRecord와 outerEnvironmentRecord로 구성돼 있다.
2.3.1. environmentalHoisting
: 현재 컨텍스트와 관련된 코드의 식별자 정보들이 저장된다. 컨텍스트 내부 전체를 처음부터 끝까지 훑어나가며 '순서대로' 수집한다.
- 컨텍스트를 구성하는 함수에 지정된 매개변수 식별자
- 선언한 함수가 있을 경우 그 함수 자체,
- var로 선언된 변수의 식별자 등
...
'Language > Javascript' 카테고리의 다른 글
자바스크립트에서의 타입 확인 (0) | 2024.12.03 |
---|---|
자바스크립트의 실행 컨텍스트 1 (실행 컨텍스트의 기본 개념) (0) | 2024.11.13 |
자바스크립트와 메모리 (0) | 2024.11.11 |
자바스크립트 기본 문법 (0) | 2024.02.26 |
이벤트 루프와 비동기 통신 (0) | 2024.01.03 |
Comments