JavaScript Scope

limuubin·2021년 7월 1일
1
post-thumbnail

JavaScript Scope에는 두가지 종류가 있다

  1. 블록 스코프 (block scope)
    : 중괄호{}로 범위가 구분된다.
  1. 함수 스코프 (function scope)
    : function 키워드가 등장하는 '함수선언식' 및 '함수표현식'은
    함수스코프를 만든다.

*주의 사항 : 화살표함수는 블록 스코프로 취급된다. ( 함수 스코프가 아님)



<블록스코프,화살표함수>

let getAge = user=>{
return user.age
}

<함수스코프>

let getAge =function(user){
return user.age
}
 

선언 키워드에 따른 스코프 규칙에 대해 알아보자(let과 var)

*콘솔에 출력되는 결과는 무엇일까.

for (let i = 0; i<5; i++){
console.log(i)
}
console.log(‘final i :', i)   
⬇️
출력결과
0
1
2
3
4
ReferenceError
for(var i=0; i<5; i++){
console.log(i)
}
console.log('final i: ‘,i);
⬇️
0
1
2
3
4
‘final i : ’ 5

위의 결과로 알수 있는 사실:
var 로 선언된 변수는 for 문이 만들어낸 블록스코프의 영향을 받지 않는다.


변수를 정의 하는 방법에는 let 키워드와 var 키워드 등이 있는데 var 키워드로 정의한 변수는
블록 스코프를 무시하고 함수 스코프만 따른다.

0개의 댓글