JavaScript
스코프
마라랑랑
2022. 5. 22. 03:02
Function Scope (함수 스코프)
function outerFunc() {
console.log(globalVal); 전역 변수
console.log(innerVal); innerVal is not defined
function innerFunc() {
var innerVal = '함수 내부 지역 변수';
console.log(globalVal); 전역변수
}
innerFunc();
return num;
}
전역변수
함수 밖에서 만든 변수로 함수 내부에서도 사용할 수 있다.
지역변수
함수 내부에서 만든 변수로 함수 외부에서는 사용할 수 없다.
블록 스코프
- 변수 유효 범위
- 내부에서 외부로 접근 가능
- 외부에서 내부로는 접근할 수 없다
if (true) {
var b = 'b';
let a = 'a';
}
console.log(b); b
console.log(a); a is not defined
var 는 처음부터 존재 => 함수 단위 유효 범위 (*for 문 if 문 안에서의 선언도 다른 함수에서 유효)
let, const 는 ES2015이후 존재 => 블럭 단위 유효 범위 (같은 블록 안에서만 유효)
let과 const를 사용하기를 권장