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 |