Scope
Scope
1. Scope
어떤 함수의 바깥에 변수를 선언하면, 현재 문서의 다른 코드에 해당 변수를 사용할 수 있기에 전역 변수라고 합니다. 만약 함수 내부에 변수를 선언하면, 오직 그 함수 내에서만 사용할 수 있기에 지역 변수라고 부릅니다.
ECMAScript 2015 이전의 JavaScript는 블록 문 스코프가 없습니다. 그래서 오히려, 블록 내에 선언된 변수는 그 블록 내에 존재하는 함수(혹은 전역 스코프)에 지역적입니다.
- 지역 변수 : [] 안에 한번만 선언, 해당 []안에서만 사용 가능
- 전역 변수 : [] 밖에 한번만 선언, 모든[]에 사용 가능
- 선언자 생략시 변수만 사용하면 전역 변수가 된다
let num = 100;
num = 500; // 재할당 가능
{
let num = 200; // 재할당
console.log(num) => 200
{
let num = 300; // 재할당
console.log(num); => 300
{
let num = 400; // 재할당
console.log(num) => 400
}
console.log(num); => 300
}
console.log(num); => 200
}
console.log(num); => 500