특정 범위에서 다른 범위에 있는 변수에 접근할 수 있는 범위
전역 스코프, 지역 스코프로 나뉜다 (전역 변수, 지역변수 느낌)
함수 스코프와 블록 스코프로
나뉜다.함수 스코프
는 함수에서 선언한 변수는 해당 함수 내에서만 접근이 가능하다.함수 스코프
는 함수내에서 어디든 사용이가능하고 함수가 끝나기 전까지 메모리상에서 제거되지 않는다.블록 스코프
는 해당 블록 ({})에서만 사용이 가능하고 블록이 끝나면 메모리상에서 제거된다.var global = 10; //전역스코프
function func1(){
let a = 1; //지역 스코프
}
if(a!==global){
var global2 = "전역변수";
}
console.log(a) //error!
console.log(global) // 10
console.log(global2) // 전역변수
function func2(){
for(var i = 0 ; i < 10; i++){
...
}
console.log(i) // 10
}
function func3(){
for(let i = 0 ; i < 10; i++){
...
}
console.log(i) // undefined
}