[JavaScript] 블록 스코프 vs 함수 스코프
2022. 7. 13. 00:18ㆍWEB/Javascript
# 스코프
- 특정 범위에서 다른 범위에 있는 변수에 접근할 수 있는 범위
- 전역 스코프, 지역 스코프로 나뉜다 (전역 변수, 지역변수 느낌)
# 지역스코프
- 함수 스코프와 블록 스코프로 나뉜다.
- 함수 스코프는 함수에서 선언한 변수는 해당 함수 내에서만 접근이 가능하다.
var global = 10; //전역스코프
function func1(){
let a = 1; //지역 스코프
}
if(a!==global){
var global2 = "전역변수";
}
console.log(a) //error!
console.log(global) // 10
console.log(global2) // 전역변수
# var, let ,const의 스코프 차이
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
}
- var은 함수내에서 전역취급이므로 접근이 가능하지만 let, const는 블록({})내부에서만 접근이 가능하다.
- var은 함수 스코프, let const는 블록스코프를 따른다.
- var은 window객체에 할당이 된다.
'WEB > Javascript' 카테고리의 다른 글
[JavaScript] 배열, 객체 (0) | 2022.07.14 |
---|---|
[JavaScript] 호이스팅(Hoisting) (0) | 2022.07.13 |
[JavaScript] 클로져 (0) | 2022.07.12 |
[JavaScript] 깊은복사, 얕은복사 (0) | 2022.07.10 |
[Javascript] 원시자료형, 참조자료형 (0) | 2022.06.24 |