렉시컬 스코프 (Lexical scope)

LeeKyungwon·2026년 5월 26일

공부 정리

목록 보기
23/33

렉시컬 스코프란

스코프란 식별자(변수, 함수 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름) 접근ㄴ 규칙에 따른 유효 범위를 뜻한다.

렉시컬 스코프란 식별자 유효 범위가 함수를 호출할 때 결정되는 것이 아닌, 선언할 때 결정되는 것을 뜻한다.
정적 스코프라고도 불린다. 자바스크립트는 렉시컬 스코프를 따른다.

var x = 'foo';

function foo() {
	var x = 'bar';
	bar();
}

function bar() {
	console.log(x);
}

foo(); //foo
bar(); //foo

실행 결과

foo(); 실행 결과

  • foo 는 함수 단위에서 var x = ‘bar’; 를 통해 x 를 다시 정의하고, bar(); 를 실행한다.
  • 하지만, bar 함수 선언할 때 x 는 var x = 'foo'; 전역변수로 할당된 foo를 값으로 가진다.
  • 따라서 foo(); 실행 결과는 bar 함수 선언시 x 의 값인 foo 를 콘솔에 로그로 남긴다.

bar(); 실행 결과

  • bar 함수 선언할 때 x 의 값인 foo 를 콘솔에 로그로 남긴다.

0개의 댓글