관리 메뉴

Silver Library (Archived)

실행 컨텍스트? 렉시컬 환경이 뭐지? [2탄] 본문

CS Library/JavaScript - Data Structure

실행 컨텍스트? 렉시컬 환경이 뭐지? [2탄]

Chesed Kim 2021. 7. 12. 17:38
반응형

실행 컨텍스트 [Execution Context]

그리고 렉시컬 환경 [Lexical Environment]

 

2회차로 다시 알아보니 알 수 있는 점이 있다면, 이건 우려와 달리 지역 함수, 글로벌 영역 등, 일종의 자료 스코핑의 범위와 영역 설정에 관한 내용이라는 점 이다.

 

이번에도 상당히 생략되었지만,

 

1. 렉시컬 환경은 글로벌 환경 이후에 각 함수 별로 실행이 된다.

2. 렉시컬 환경 내부에서 실행 된 해당 함수 또는 변수는,


foo execution context -> foo Lexical Environment -> Function environment record

Global execution context - > Global Lexical Environment -> Object environment record / Declarative environment record

 

하고 foo lexical environment 와 이어지는 관계인 window 가 별도로 있다.


실행 컨텍스트와 렉시컬 환경은, 마치 각 변수 및 함수의 객체가 길어 질 수록, 도움이 될 것으로 기대가 된다.

좀 더 나가면 실행 컨텍스트와 블록 레벨 스코프로도 내용이 심화된다.

 

이 코드 블록은, 함수, if 문, for 문 등을 포함하는 그 자체를 '코드 블록' 이라고 한다. 이들을 지역 스코프 수준으로 인정하는 블록 레벨 스코프가 성립 되려면, let 또는 const 키워드로 변수가 선언되었어야 한다.

 

Note.

왜 [탄]이라고 했을까? 당신이 생각하는 '그 이유'가 맞다. 만약 필자와 뜻이 맞다면, 아마도 그 의도를 이해 할 것이다.