[JavaScript] 스코프(Scope)

권용준·2023년 11월 13일
0

📌 정의

스코프는 변수가 선언되고 유효한 범위 내에서만 접근 및 조작될 수 있음을 정의하며, 스코프는 코드 내에서 식별자(변수 및 함수 이름)가 유효한 범위를 결정한다.

❗️특징

1) 전역 스코프 (Global Scope)

- 전역 스코프는 코드의 가장 바깥쪽 범위로, 스크립트 파일 전체에서 접근 가능한 범위이다.
- 전역 스코프에서 선언된 변수는 어디서든 접근할 수 있다.

2) 지역 스코프 (Local Scope)

- 지역 스코프는 함수 내부에서 정의된 범위를 나타냅니다
- 함수 내에서 선언된 변수는 해당 함수 내부에서만 접근 가능하며, 함수 외부에서는 접근할 수 없다.

3) 중첩 스코프 (Nested Scope)

- 함수 내에서 다른 함수를 정의하면 중첩 스코프가 형성된다.
- 내부 함수는 외부 함수의 스코프에 접근할 수 있지만 외부 함수는 내부 함수의 스코프에 접근할 수 없다.

✍ 예시 코드

1) 전역 스코프

var globalVar = 'I am a global variable'; // 전역 스코프에서 선언된 변수

function globalScopeExample() {
    console.log(globalVar); // 전역 변수에 접근 가능
}

globalScopeExample();
console.log(globalVar); // 전역 스코프에서도 접근 가능
globalVar는 전역 스코프에서 선언되었기 때문에 어디서든 접근할 수 있다.

2) 함수 스코프

function localScopeExample() {
    var localVar = 'I am a local variable'; // 함수 스코프에서 선언된 변수
    console.log(localVar); // 함수 내에서만 접근 가능
}

localScopeExample();
// console.log(localVar); // 오류! localVar는 함수 외부에서 접근할 수 없음
localVar는 localScopeExample 함수 내에서 선언되었으므로 함수 내부에서만 접근할 수 있으며 함수 외부에서는 접근할 수 없다.
❗️스코프는 변수의 범위를 제어하고 변수가 선언된 위치에 따라 접근 가능한 범위를 결정한다. 이것은 변수 이름 충돌을 방지하고 코드를 모듈화하여 더 효과적으로 관리하는 데 도움된다.
profile
Brendan Eich, Jordan Walke, Evan You, 권용준

0개의 댓글