The answer is: Pete.
A function gets outer variables as they are now, it uses the most recent values.
Old variable values are not saved anywhere. When a function wants a variable, it takes the current value from its own Lexical Environment or the outer one.
가장 최신의 변수를 참조한다고 한다.
work
선언하면 함수 컨텍스트가 생성되는데 생성된 함수 컨텍스트 안의 변수 객체에서 name은 지역 변수 Pete를 참조한다!정답
왜 갑자기 한국어가 나오는지 모르겠지만 counter2
또 다른 함수 컨텍스트니까 독립적!!
얼럿창엔 0과 1 이 출력됩니다.
함수 counter와 counter2는 각각 다른 makeCounter 호출에 의해 만들어졌습니다.
두 함수는 독립적인 렉시컬 환경을 갖게 되므로 각 함수는 자신만의 count를 갖게 됩니다.
잘 동작합니다.
생성자 함수의 두 중첩 함수는 동일한 외부 렉시컬 환경에서 만들어졌기 때문에 같은 count 변수를 공유합니다.
에러가 발생합니다.
sayHi
는 if문 안에서 정의했기 때문에, 오직 if문 안에서만 접근할 수 있습니다. if문 밖엔 sayHi가 없습니다.
오 이거는 몰랐네...