JavaScript 영역 이해

JavaScript의 범위는 변수 가시성과 수명 주기를 관리하기 위한 중요한 개념입니다.

이 기사에서 JavaScript의 범위를 이해하고 예제를 통해 확인해보자.

JavaScript 범위는 무엇입니까?

JavaScript의 범위는 변수가 정의되고 사용되는 영역이며 변수를 참조할 수 있는 위치를 결정하는 역할을 합니다. 영역에는 주로 블록 영역과 기능 영역의 두 가지 유형이 있습니다.

1. 블록 영역

블록 범위에서 변수는 중괄호({})로 둘러싸인 코드 블록 내에서 정의되고 사용됩니다.

블록 범위 변수는 let 및 const 키워드를 사용하여 만들 수 있습니다.

또한 블록 범위에서 정의된 변수는 해당 블록과 하위 블록에서만 접근이 가능합니다.

블록 영역

{
  let blockScopedVar="I am block scoped!";
  console.log(blockScopedVar); // 'I am block scoped!'
}

console.log(blockScopedVar); // ReferenceError: blockScopedVar is not defined

조건의 블록 영역

if (true) {
  let blockScopedVar="I am block scoped within an if statement!";
  console.log(blockScopedVar); // 'I am block scoped within an if statement!'
}

console.log(blockScopedVar); // ReferenceError: blockScopedVar is not defined

루프의 블록 영역

for (let i = 0; i < 3; i++) {
  let blockScopedVar="I am block scoped within a loop!";
  console.log(blockScopedVar); // 'I am block scoped within a loop!' 출력됩니다 (3번 반복)
}

console.log(blockScopedVar); // ReferenceError: blockScopedVar is not defined

중첩된 블록 영역

{
  let outerVar="I am in the outer block!";

  {
    let innerVar="I am in the inner block!";
    console.log(outerVar); // 'I am in the outer block!'
  }

  console.log(innerVar); // ReferenceError: innerVar is not defined
}

2. 기능

기능 범위는 함수 내에서 변수가 정의되고 사용되는 영역입니다.

함수 범위 변수는 var 키워드로 생성할 수 있으며 함수 범위에 정의된 변수는 함수 내에서만 액세스할 수 있습니다.

function functionScoped() {
  var functionScopedVar="I am function scoped!";
  console.log(functionScopedVar); // 'I am function scoped!'
}

functionScoped();
console.log(functionScopedVar); // ReferenceError: functionScopedVar is not defined

JavaScript 범위 지정은 변수의 가시성과 수명 주기를 제어하기 위한 핵심 개념입니다.

코드를 작성할 때 영역을 올바르게 이해하고 사용하면 오류를 줄이고 코드 효율성을 높이는 데 큰 도움이 됩니다. 이 기사가 블록 범위 및 기능 범위에 대한 이해를 향상시켰기를 바랍니다.