[Tech] 실행 컨텍스트와 스코프 체인
[Tech] 실행 컨텍스트와 스코프 체인
실행 컨텍스트(Excution Context)란?!
- 실행 컨텍스트(Excution Context)는 코드가 실행되기 위해 필요한 환경을 제공하는 객체다.
- 지난 번 Record와 Outer를 포함한 렉시컬 환경을 포함한다.
[Tech] 클로저와 렉시컬 스코프/환경, 렉시컬 환경에 대해 - 이 실행 컨텍스트는
호출 스택에 쌓여서, 호출되면 관련된 코드를 실행시키고 제거된다.- 따라서 이 방식으로 인해, 코드의 환경과 순서를 보장한다.
스코프는 무엇인가?!
스코프는 말 그대로, 식별자에 접근할 수 있는 유효한 범위를 말한다.
스코프의 종류
- 전역 스코프(Global Scope)
- 어디서나 접근 가능한 범위
- 빈번하게 사용하지 않도록 한다.
- 지역 스코프(Local Scope)
- 함수 내에서만 접근 가능한 범위
- 전역과 반대되는 의미, 함수 스코프라고도 한다.
var로 선언된 변수가 해당 범위를 갖는다.
- 블록 스코프(Block Scope)
- 블록
{}내에서만 접근 가능한 범위 let,const로 선언된 변수가 해당 범위를 갖는다.
- 블록
스코프 체인은 무엇인가?!
흔히 식별자를 찾을 때, 해당 스코프에서 찾곤한다.
이 때, 해당 스코프에 식별자가 없는 경우에는 자바스크립트는 어떻게 할까?
- 스코프 체인은 가장 가까운 스코프들이 체인처럼 연결되어 있는 형태를 의미한다.
- 이를 이용해, 가장 가까운 상위 스코프를 차례로 검색하여 식별자를 찾는다.
- JS 엔진은 해당 변수를 참조하는 코드의 스코프 부터 -> 상위 스코프 방향으로 이동하여 검색한다.
✨ 출처
This post is licensed under CC BY 4.0 by the author.