스코프는 이름이 충돌하는 문제를 덜어주고, 자동으로 메모리를 관리한다.
자바스크립트의 유효 범위#
-
전역 스코프
-
함수 스코프
-
블록 스코프(ES6)
1. 전역 스코프#
스크립트 어디에서든 접근이 가능한 스코프로 협업과 라이브러리 사용시 충돌 가능성이 있다.
2. 함수 스코프#
함수 내부에서 정의된 변수와 매개변수는 함수 외부에서 접근할 수 없다. 함수 내부에서 정의된 변수라면 함수의 어느 부분에서도 접근 가능하다.
- var, let, const 등으로 선언하지않고 그냥 선언한 변수는 전역 변수가 된다.
3. 블록 스코프(ES6)#
javascript
if(true) {
var value == "hello";
}
console.log(value);
//"hello"
if(true) {
let value == "world";
}
console.log(value);
//"hello"
블록 스코프는 블록 안에서만 유효하고 접근 가능하다. let, const로 선언하면 블록 스코프가 된다.
4. 정리#
-
스코프는 변수의 접근성과 생존 기간을 제어한다.
-
스코프는 이름이 충돌하는 문제를 덜어주고, 자동으로 메모리를 관리한다.
-
자바스크립트에는 전역 스코프, 함수 스코프, 블록 스코프가 존재한다.
![[Ykss]](/static/e1b6058af380e8a00f152aefa04db768/cbeb2/profile.jpg)