View
scope
어디에 변수가 있는가?
특정 변수에 어디서 접근할 수 있는가? 혹은 접근할 수 없는가?
types of scope
global scope
scopes defined by functions
scopes defined by blocks : var const, let
Javascript 👉 lexical scoping
코드 어디에 functions와 blocks가 적혀 있는가
scope chain
모든 스코프는 그 스코프 바깥에 있는 변수에 접근할 수있다.
부모에만 접근할 수 있다. 위로만 접근할 수 있다.
특정 스코프의 스코프 체인은
모든 부모스코프의 변수들을 모두 더한것이다.
스코프 체인은 functions이 호출된 순서와 전혀 관계가 없다.
variable lookup
현재 스코프에 변수가 없는 경우, 엔진은 해당 변수를 찾기 위해서 스코프 체인 위를 찾는다.
scope chain은 one-way street
스코프는 절대로 내부의 스코프에 접근할 수 없다.
reply