[javascript] 변수 범위와 스코프 설정 방법 정하기

JavaScript에서 변수의 범위(scope)는 변수가 접근 가능한 영역을 의미합니다. 변수의 범위를 올바르게 설정하는 것은 코드의 가독성과 유지 보수성을 높이는 중요한 요소입니다.

JavaScript에서는 변수의 범위를 설정하는 세 가지 키워드가 있습니다: var, let, const.

1. var

var 키워드는 기존 버전의 JavaScript에서 변수를 선언하는 방법입니다. 그러나 var로 선언된 변수는 함수 또는 전역 범위에서만 유효하며 블록 범위를 가지지 않습니다. 이는 때로는 의도하지 않은 변수의 전역화 문제를 일으킬 수 있습니다.

예시:

function test() {
  var a = 10;
  if (true) {
    var a = 20; // 변수 a가 이미 선언된 변수를 덮어씁니다.
    console.log(a); // 20
  }
  console.log(a); // 20
}

2. let

let 키워드는 ECMAScript 2015(ES6)부터 소개된 새로운 변수 선언 방법입니다. let으로 선언된 변수는 블록 범위를 가지므로 블록 내에서만 유효합니다. 이는 변수의 범위를 명확하게 하고 의도하지 않은 변수의 재할당을 방지하는 데 도움이 됩니다.

예시:

function test() {
  let a = 10;
  if (true) {
    let a = 20; // 새로운 블록 범위의 변수 a가 선언됩니다.
    console.log(a); // 20
  }
  console.log(a); // 10
}

3. const

const 키워드는 let과 마찬가지로 ECMAScript 2015(ES6)에서 소개된 새로운 변수 선언 방법입니다. const로 선언된 변수는 상수로 취급되며 한 번 할당되면 재할당이 금지됩니다. 따라서 const로 선언된 변수는 값이 변하지 않는 경우에 사용됩니다.

예시:

function test() {
  const PI = 3.14;
  console.log(PI); // 3.14
  PI = 3.14159; // 오류: 상수에 재할당할 수 없습니다.
}

JavaScript에서 변수의 범위와 스코프 설정은 코드의 동작 및 유지 보수에 큰 영향을 미칩니다. 적절한 키워드(var, let, const)를 사용하여 변수의 범위를 올바르게 설정하고 적절한 스코프를 유지하는 것이 중요합니다.

참고문헌: