
지역변수와 전역변수
지역 변수(Local Variable)
전역 변수(Global Variable)
var는 함수 내부에서만 지역 변수가 되고 다른 블록문에서는 전역 변수가 된다
let, const는 어떤 블록문에서도 내부에서 선언되면 지역 변수가 된다
아주 특별한 경우가 아니면 무분별한 전역 변수의 생성을 자제하고 스코프를 명확하게 하기 위해 되도록 let, const를 사용하는 습관을 들이는 것이 좋을 것 같다.
함수 스코프
함수가 선언되면 발생하는 접근 범위, 스코프
함수 내부에서 선언한 변수는 해당 함수 내에서만 접근 가능
var은 함수 내부에서만 지역 변수로 유지 되고 나머지 블록에서는 전역 변수로 취급된다.
함수 스코프 예제
var scope1 = 'scope1';
function scopeTest() {
var scope2 = 'scope2';
console.log(scope1, scope2);
}
scopeTest();
//실행결과
//scope1 scope2
var scope1 = 'scope1';
function scopeTest() {
var scope2 = 'scope2';
}
console.log(scope1, scope2);
//실행결과
//scope2 is not defined
var는 함수 내부에서만 지역 변수if (true) {
var scope1 = 'scope1';
}
console.log(scope1);
//실행결과
//scope1
블록 스코프
블록 스코프 예제
if (true) {
let scope1 = 'scope1';
console.log(scope1);
}
console.log(scope1);
//실행결과
//scope1
//scope1 is not defined
for (let i = 0; i < 1; i++) {
console.log(i);
}
console.log(i);
//실행결과
//0
//i is not defined
Tomorrow better than today, Laugh at myself
- 출처 -