자바스크립트에는 전역스코프, 지역스코프 두가지가 존재한다.

전역 스코프에 변수를 정의하게 되면 window객체의 프로퍼티가된다.

모든 함수 및 객체에서 전역스코프에 접근할 수 있으므로 전역변수의 사용은 자제하는것이 좋다.

만약, 전역변수에 정의되어 있는 변수를 함수에서 재정의하게 되면 오류가 발생하게 된다.

let a = 'something';
//...2만줄의 코드 이후..//
let a = 'something'; //에러 발생

<aside> 💡 전역 변수 사용을 자제하고 지역변수 사용을 권장한다.

</aside>

지역 스코프


지역 변수에는 두가지 종류가 있다.

  1. 함수 스코프 지역 변수
  2. 블록 스코프 지역 변수

함수 스코프란, 말그대로 변수가 함수 단위로 취급된다는걸 의미한다.