[javascript] 변수의 스코프와 클로저

변수의 스코프와 클로저는 자바스크립트에서 중요한 개념입니다. 이러한 개념을 이해함으로써 코드를 더 효율적으로 작성하고 버그를 방지할 수 있습니다.

변수의 스코프

변수의 스코프는 해당 변수에 접근할 수 있는 코드 상의 영역을 의미합니다. 자바스크립트에서는 전역 스코프와 지역 스코프가 있습니다.

전역 스코프

전역 스코프에서 선언된 변수는 어디서든지 접근할 수 있습니다. 하지만 전역 변수의 남발은 코드를 복잡하고 이해하기 어렵게 만들 수 있으므로 되도록 사용을 피하는 것이 좋습니다.

let globalVar = 10;

function doSomething() {
  console.log(globalVar);
}

지역 스코프

지역 스코프에서 선언된 변수는 해당 블록 내에서만 접근할 수 있습니다.

function doSomething() {
  let localVar = 20;
  console.log(localVar);
}

클로저

클로저는 내부 함수가 외부 스코프에 접근할 수 있는 메커니즘을 말합니다. 이를 통해 외부 스코프에 있는 변수를 계속해서 참조할 수 있습니다.

function outerFunction() {
  let outerVar = 30;

  function innerFunction() {
    console.log(outerVar);
  }

  return innerFunction;
}

let foo = outerFunction();
foo(); // 30 출력

클로저를 올바르게 이해하고 활용하면 더 효율적이고 안전한 코드를 작성할 수 있습니다.

변수의 스코프와 클로저는 자바스크립트에서 중요한 개념이므로 꼭 이해하고 숙지하는 것이 좋습니다.