[javascript] 지역 변수의 재할당과 전역 변수의 영향

지역 변수란, 특정 범위 내에서만 접근 가능한 변수를 말합니다. 이와 반대로 전역 변수는 어디서든 접근 가능한 변수입니다. 지역 변수와 전역 변수를 올바르게 이해하고 사용하는 것은 프로그래밍에서 중요한 부분입니다.

자바스크립트에서 지역 변수의 재할당은 해당 범위에서만 영향을 미칩니다. 예를 들어, 아래의 코드를 살펴봅시다.

function myFunction() {
  let x = 10;
  console.log(x); // 출력: 10

  if (true) {
    let x = 20;
    console.log(x); // 출력: 20
  }

  console.log(x); // 출력: 10
}

myFunction();

위 코드에서 함수 myFunction 내에서 let 키워드를 사용하여 변수 x를 선언했습니다. if문 블록 내에서도 같은 이름의 변수 x를 선언했지만, 이 변수는 if문 블록 내에서만 유효합니다. 따라서 첫 번째 console.log에서는 변수 x의 값이 10으로 출력되고, 두 번째 console.log에서는 변수 x의 값이 20으로 출력됩니다. 마지막 console.log에서는 if문 블록 외부에서 선언된 변수 x의 값인 10이 출력됩니다.

하지만 전역 변수의 경우, 지역 변수의 재할당이 전역 변수에 영향을 줄 수 있습니다. 다음의 예시를 살펴봅시다.

let x = 10;

function myFunction() {
  console.log(x); // 출력: 10

  if (true) {
    let x = 20;
    console.log(x); // 출력: 20
  }

  console.log(x); // 출력: 10
}

myFunction();
console.log(x); // 출력: 10

위 코드에서 변수 x는 전역 변수로 선언되었습니다. 함수 myFunction 내부에서 if문 블록에서 재할당된 지역 변수 x는 함수 내부에서만 유효하고 전역 변수 x에는 영향을 주지 않습니다. 따라서 첫 번째 console.log에서는 전역 변수 x의 값인 10이 출력되고, 두 번째 console.log에서는 지역 변수 x의 값인 20이 출력됩니다. 마지막 console.log에서는 전역 변수 x의 값인 10이 출력됩니다.

지역 변수와 전역 변수를 올바르게 이해하고 사용함으로써 변수의 범위와 재할당에 대한 개념을 확실히 이해할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

참고 자료