
[JavaScript] Scope & Execution Context #1
·
프론트엔드/JavaScript
Scope란?Scope: 각 식별자들의 유효 범위를 나타낸다Global Scope: 전역 범위Function Scope: 함수 범위Block Scope: {} 중괄호 범위 - 예를 들면 if문Lexical Scope Chain이 Scope는 각각 단방향 Linked List로 연결 되는데 이를 'Lexical Scope Chain'이라 한다.즉 각 Scope 별로 Lexical Environment가 생성되며, 이는 어디에서 정의했는지에 따라 상위 Scope가 결정된다.이를 Static Scope라고 한다.(Dynamic Scope라는 것도 있는데 현대 언어에서는 잘 사용되지 않음: 어디서 호출 & 호출된 시간 기반)만약 동일 스코프의 변수는 실행 시간이 가장 늦은 것이 있으면 해당 값이 최종 할당된다...