스코프
- 변수의 유효범위
- 중괄호(블록) 안쪽에 변수가 선언되었는지, 바깥쪽 변수에 선언되었는지가 중요
- 바깥쪽 스코프에서 선언한 변수는 안쪽 스코프에서 사용 가능
- 안쪽에서 선언한 변수는 바깥쪽 스코프에서는 사용 불가능
![](https://velog.velcdn.com/images/pms2259/post/81adf070-21b2-4658-8d1b-30a4d8b07659/image.PNG)
- 지역 변수는 전역 변수보다 더 높은 우선 순위를 가짐
스코프의 종류
- 블록 스코프 : 중괄호를 기준으로 범위 구분
- 함수 스코프 : function 키워드가 등장하는 함수 선언식 및 함수 표현식
단, 화살표 함수는 블록 스코프로 취급
let, const, var 변수 선언 키워드 비교
![](https://velog.velcdn.com/images/pms2259/post/305af7f8-e66b-436f-af46-0d9c580688d3/image.PNG)
스코프 변수 선언시 주의할 점
- 너무 많은 전역 변수 선언은 안 좋다(다른 함수나 로직에 의해 의도치 않은 변경이 있을 수 있음)
- let, const를 주로 사용하면 좋다
- 선언 없는 변수 할당 금지(전역 변수 취급함)