모던 자바스크립트 Deep Dive - 13장

박상은·2021년 10월 3일
0

요약

1. 스코프

모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 자신을 참조할 수 있는 유효범위가 정해진다.
중요한 것은 어디서 사용되는냐에 따라서 정해지는 것이 아닌 최초 선언된 위치에 의해서 스코프가 정해진다는 것
그리고 이것을 정적스코프 또는 렉시컬스코프를 따른다고 말한다. ( 어디서 사용 X, 어디서 정의 O )

let v = 10;

function foo(){
  let v = 20;
  bar();
}
function bar(){
  console.log(v);
}

// 식별자의 선언위치에 따라서 스코프가 결정되므로 v값이 10이 되는 것
foo();	// 10
bar();	// 10

2. 스코프체인

모든 식별자는 스코프체인에 의해서 검색해서 사용된다.
모든 스코프는 계층적으로 스코프체인에 의해서 연결된다. ( 실행컨텍스트의 렉시컬환경이 단방향으로 연결된 것 )

마무리

  • var는 중복선언 허용

조금더 자세한 내용은 23장 - 실행컨텍스트에서

0개의 댓글