[javascript] 변수의 유효범위

자바스크립트에서 변수의 유효범위는 변수가 참조 가능한 범위를 말합니다. 이는 변수가 선언된 위치에 따라 달라지며, 프로그램이 실행될 때 해당 변수에 접근할 수 있는지를 결정합니다.

전역 범위 (Global Scope)

전역 범위에서 선언된 변수는 어디서든 참조할 수 있습니다. 이는 프로그램 어디에서든지 사용할 수 있는 일반적인 변수입니다.

예시:

var globalVar = 10;

function myFunc() {
    console.log(globalVar); // 출력: 10
}

지역 범위 (Local Scope)

함수 안에서 선언된 변수는 그 함수 내부에서만 참조할 수 있습니다. 함수 내부에서 선언된 변수는 외부에서 접근할 수 없습니다.

예시:

function myFunc() {
    var localVar = 20;
    console.log(localVar); // 출력: 20
}

console.log(localVar); // 오류: localVar는 정의되지 않았습니다.

블록 범위 (Block Scope)

ES6(ECMAScript 2015) 이후부터는 블록 범위를 가지는 letconst 키워드가 도입되었습니다. 블록 범위에서 선언된 변수는 해당 블록 내에서만 접근할 수 있습니다.

예시:

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

console.log(blockVar); // 오류: blockVar는 정의되지 않았습니다.

결론

변수의 유효범위는 프로그램의 동작에 중요한 역할을 합니다. 올바른 유효범위를 사용하여 변수를 선언하고 활용함으로써 코드의 가독성을 높일 수 있습니다.