스코프란 변수의 사용 영역을 말한다.

 

스코프의 종류 전역변수, 지역변수

 

전역변수란 지역의 가장 바깥에 선언된 변수

지역변수란 지역에서만 사용할 수 있는 변수

 

스코프 체인 

 

전역 ->외부 함수 -> 내부함수인 상태일 때 전역과 내부함수에 같은 이름의 변수가 있다면 

내부함수 안에서 출력하면 가장 가까운 내부함수를 출력할 것이고, 만약에 내부함수에 변수가 없다면

내부함수 -> 외부함수 -> 전역변수 순으로 검색해 나갈 것이다.

 

함수레벨스코프 

 

var은 함수레벨스코프로 함수만 지역 스코프를 인정한다.

if, for문 같은 코드블록은 지역스코프로 인정을 안하기 때문에 전역변수 문제가 생긴다.

 

렉시컬스코프

 

함수를 호출한 곳을 기준으로 스코프체인을 따른다면 정적스코프

아니면 함수가 정의된 곳을 기준으로 스코프체인을 따른다면 렉시컬 스코프

렉시컬 스코프가 JS다

+ Recent posts