❓스코프란?
변수나 함수가 접근할 수 있는 범위(변수의 영역) 입니다.
🔎 스코프 종류
1. Global Scope
- 코드의 어느 곳에서든 접근 가능한 범위입니다.
- 전역 변수는 어플리케이션이 종료될 때까지 메모리에 남아있습니다.
2. Function Scope
- 함수 내부에서 선언된 변수는 해당 함수 내부에서만 접근 가능합니다.
var로 선언된 변수는 해당 스코프를 가지게 됩니다.
3. Block Scope
- 중괄호(
{}) 내부에서 선언된 변수의 범위
let과 const로 선언된 변수는 이 스코프를 가지게 됩니다.
🔎 스코프 특징
1. Scope Chain
- 내부 스코프에서 외부 스코프의 변수에 접근 가능합니다.
- 외부에서 내부로는 접근 불가능합니다.
2. Lexical Scope
- 함수가 선언된 위치에 따라서 상위 스코프가 정해집니다.
- 실행 위치가 아닌 선언 위치가 중요합니다.