[JS] 전역스코프와 지역스코프
전역스코프와 지역스코프
스코프란 범위라는 뜻으로 유효한 범위를 가리키는 말이다. 변수나 함수가 선언되면 선언된 것들에 대한 스코프가 형성된다.
스코프는 현재 실행되고 있는 컨텍스트를 말하는데 여기서 컨텍스트는 값과 표현식이 표현되거나 참조 될 수 있음을 의미한다.
전역스코프
전역스코프는 코드 어디서든 참조할 수 있다. 전역에 변수를 선언하면 이 변수는 어디서든 참조가 가능한 전역스코프가 생긴 전역 변수가 된다.
지역스코프
함수는 Javascript에서 클로저 역할을 하기 때문에 함수 단위 스코프가 형성되는데 함수 코드 블럭이 만든 스코프로 함수 자신과 그 내부 함수에서만 참조할 수 있다.
내부함수는 자신를 포함하고 있는 외부함수의 변수에 접근할 수 있다.
그런데 ES6 이후로 let 키워드가 도입되면서 Javascript에서도 블록 단위 스코프를 사용할 수 있게 되었다.