[JS] 선언의 범위 (scope)

2023. 4. 4. 11:17개발/HTML+CSS+JS

더보기

 

전역 스코프(global scope)

예제

// 전역 스코프에서 변수를 선언함. 전역변수.
let x = 10;

function printX() {
    // 소스코드 어디서든... 변수 x를 참조 할 수 있음.
    console.log(x);
}
printX();
console.log(x);

설명

전역 스코프에서 선언된 변수는 소스코드 어디에서든 참조가 가능하다.

에러

선언되지 않은 변수를 참조하면 에러가 발생한다.

// 전역 스코프에서 변수를 선언함. 전역변수.
let x = 10;

function printX() {
    // 소스코드 어디서든... 변수 x를 참조 할 수 있음.
    console.log(x);
}
printX();
console.log(x);
// 선언되지 않은 변수를 참조하면... 에러 발생
console.log(y);

ReferenceError

 


 

지역 스코프(local scope)

예제

function printX() {
    // 지역 스코프에서 변수를 선언함. 지역변수.
    let x = 10;
    console.log(x);
}
// 해당 지역, 즉 printX 함수 안에서만 변수 x를 참조할 수 있음.
printX();

설명

지역 스코프에서 선언된 변수는 해당 지역 내에서만 참조가 가능하다. 소스코드 어디에서도 참조가 가능하다.

에러

해당 변수가 선언된 지역이 아닌 곳에서 지역변수를 참조하게 되면 에러가 발생한다.

 




블록 스코프(block scope)

예제

if (true) {
    let x = 10;
    console.log(x);
}

설명

if 블럭 내에서 선언된 변수는 if 블럭 내에서만 사용 가능하다.

 

에러

if 블럭이 아닌 곳에서 함수를 참조하면 에러가 발생한다.