본문 바로가기

자바스크립트-스터디[2021-10-05~완료]

13 스코프

스코프 == 유효범위 == 블록 == 식별자 유효범위

 

모든 식별자(변수, 함수, 클래스 등)는 자신이 선언된 위치에 의해 다른 코드가 

자신을 참조할 수 있는 유효 범위를 결정한다.

 

전역 var x    !=  foo함수내 지역 var x
var x 식별자는 같지만, 스코프는 다르다
바탕화면에 워니 폴더는 하나만 가능
각 폴더 안에 워니 폴더 생성 가능

즉 유효 범위에 따라 식별자 이름이 동일해도 다른 폴더이다.

 

13.2 스코프의 종류

전역 global : 어디서든 사용 가능

지역 local : 자신의 지역 스코프, 하위 지역 스코프에서 유효함. 아래로.. 사용가능, 위로 사용 못함

 

13.3 스코프 체인

함수의 중첩: 함수 안에 함수가 정의됨 

 

스코프 체인:  전역 > outer 지역 스코프 >inner 지역 스코프 : 스코프가 계층적으로 연결된 것.

변수가 선언 실행 -> 변수 식별자가 렉시컬 환경에 키로 등록 -> 변수 할당 -> 변수 식별자에 값을 변경

 

1. 스코프 체인에 의한 변수 검색

아래에서 상위의 변수를 자유롭게 꺼낼 수 있음

위에서 아래로 변수 참조 불가능

 

 

2. 스코프 체인에 의한 함수 검색

전역 foo 함수

지역 foo 함수

foo() 함수의 비교