728x90

1. 실행 컨텍스트

 

함수가 호출되면 자바스크립트 엔진은

호출된 함수로 들어가서, 코드를 해석하고 실행을 한다 

 

좀더 자세히 보자면

 

(1) 해석한 결과 저장하고 + (2)함수 코드 를 실행할 영역이 필요한데

이를 "실행 컨텍스트" 라고 한다. (저장하고 실행한다 느낌)

 

즉,

 

함수를 호출 -> 실행 컨텍스트 생성 -> 실행 컨텍스트 내부로 이동 -> 함수 코드 해석 및 실행

 

 

나는 이렇게 이해했다. 

 

실행 컨텍스트는 ES5 스펙 사양이다.

외부 프로그램에 접근할 수 없다.

 


 

2. 렉시컬 환경

 

음, 이거는 함수마다 독립적으로 환경을 갖는데 이를 렉시컬 환경이라하는 것 같다.

 

{ name : value } 형태를 갖으며

name으로 value를 접근한다 내용이다 심플하다. 개념적인 내용이다.

 

더 내부를 파고들면

 

렉시컬 환경 = {

     환경 레코드 : 값,       <--- 함수안의 함수f(g(x))의 g(x), 변수, 검색 1순위 영역

     외부 렉시컬 참조 : 값 <--- 가장 근접한 스코프, 검색 2순위 영역

}

 

이 렉시컬 환경은 function, with문, try-catch의 catch문에서 생성됩니다.

 

만약에 함수를 하나 호출한다면

해당 함수 렉시컬 환경이 생성되고

외부 렉시컬 참조에는 글로벌 렉시컬 환경이 설정됩니다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'개발 > JavaScript' 카테고리의 다른 글

Dom 유틸함수  (0) 2022.12.28
실행 컨텍스트, 렉시컬 환경, 글로벌 환경  (0) 2021.07.30
객체의 상속  (0) 2021.05.31
객체의 복사 - 두가지 방법  (0) 2021.05.31
화살표 함수(Arrow Function)  (0) 2021.05.09

+ Recent posts