렉시컬 스코프의 동작 방식

렉시컬 스코프는 코드 블록이 중첩되어 있는 경우에도 작동합니다. 스코프는 코드가 작성된 위치에 따라 정적으로 결정되기 때문에, 식별자의 스코프는 코드의 구조적인 계층 구조에 따라 결정됩니다.

예를 들어, 다음과 같은 코드를 살펴보겠습니다:

function outer() {
  var x = 1;

  function inner() {
    var y = 2;
    console.log(x + y);  // 출력: 3
  }

  inner();
}

outer();

위 코드에서 xy 변수는 스코프에 따라 접근 가능한 범위가 결정됩니다. x 변수는 outer() 함수 스코프에, y 변수는 inner() 함수 스코프에 속합니다. inner() 함수에서 xy 변수를 함께 사용하면, 렉시컬 스코프의 동작 방식에 따라 inner() 함수는 x 변수를 참조할 수 있습니다.

이와 같은 렉시컬 스코프의 동작 방식은 코드의 가독성과 디버깅 편의성을 높여줍니다. 변수의 스코프가 코드의 구조에 따라 결정되기 때문에, 다른 함수 또는 블록에서 선언된 변수를 쉽게 추적할 수 있습니다.

#LexicalScope #스코프