1. 실행컨택스트?
:실행할 코드에 제공할 환경정보들을 모아놓은 객체
2. Hoisting?
- 매개변수의 이름
- 함수선언 (함수전체)
- 변수명(식별자) : 선언부 '만'
3. 함수 선언식 vs 함수 표현식?
- 선언식: function a() { ~~ } // override 주의
- 표현식: let a = function x() { ~~ }
4. Scope
: 식별자에 대한 유효범위 (함수에 의해 생성)
선언될 당시의 lexicla env 를 참조. 호출시 실행 context 가 활성화된다.
Scope chain?
:안에서 밖으로 검색하는 것. (변수 은닉화)
5. 전역변수와 지역변수
- 전역변수: 전역 공간에서 선언한 변수 (코드의 안전성을 위해 전역변수 최소화를 권장)
- 지역변수: 내부에서 선언한 변수