렉시컬 스코프란 "코드가 작성된 위치(문법 구조)"에 따라 변수의 유효 범위(Scope)가 결정되는 방식입니다.
즉, **"어디서 선언되었느냐"**에 따라 접근 가능한 범위가 정해집니다.
| 특성 | 설명 |
|---|---|
| 선언 위치 기준 | 변수를 사용할 수 있는 범위는 함수가 정의된 위치 기준으로 결정됨 |
| 실행 시점 무관 | 호출 위치나 실행 시점과는 무관 |
| 중첩 함수 가능 | 내부 함수는 외부 함수의 변수에 접근 가능 |
function outer() {
const a = 10;
function inner() {
console.log(a); // 10 - 외부 변수 접근 가능
}
inner();
}
outer();
렉시컬 스코프는 변수와 블록 스코프가 코드가 작성된 구조에 따라 결정되는 스코프의 한 형태입니다.
함수나 블록이 선언된 시점의 외부 환경을 기준으로 스코프가 결정되며, 이는 실행 시점이 아닌 선언 시점에 결정된다는 의미입니다.