본문으로 바로가기

[JS] 스코프, 렉시컬 스코프

category WEB/JS 2019. 1. 9. 20:33

스코프?


기본적으로 자바스크립트는 블럭 스코프가 아닌 함수 스코프이다.

또한 메인의 기준이 따로 없기 때문에 함수 안에 안들어가면 모두 전역 스코프 처리된다.


var로 선언시 스코프는 당연히 함수이지만,

ES6부터 생겨난 let과 const는 블럭 스코프이다.


전역 변수와 지역 변수가 충돌할 경우 지역 변수를 우선한다.


렉시컬 스코프?

렉시컬 스코프? 2


자바스크립트는 동적 스코프가 아닌 정적 스코프, 즉 렉시컬 스코프이다.

어디서 호출하였는지가 아니라, 어디서 선언하였는지에 따라 결정되는 것이다.


자바스크립트에서 스코프는 선언할 때 생긴다는 점을 인지해야 한다. (선언, 초기화, 할당 중 선언)

한번 선언할 때 생긴 스코프는 변하지 않는다.

'WEB > JS' 카테고리의 다른 글

[JS] 클로저(Closure)  (0) 2019.01.10
[JS] 실행 컨텍스트  (0) 2019.01.09
[JS] this 바인딩  (0) 2019.01.09
[JS] 프로토타입(Prototype)  (0) 2019.01.09
[JS] 호이스팅(Hoisting)  (0) 2019.01.09