실행 컨텍스트 - Outer와 스코프 체이닝

소밍·2023년 1월 19일
0
post-thumbnail

Outer ; Outer Environment Reference

  • 외부 환경 참조,
  • 필요한 경우에 바깥 렉시컬 환경,
    즉 이전 실행 컨텍스트의 환경 레코드에 저장된 식별자를 참조할 수 있음


let lamp = false;

function goTo2F(){ 
  // 함수 선언문 방식; 생성과 동시에 환경 레코드에 생성된 함수가 통째로 기록
  let lamp = true;
  
  function goTo3F(){
    let pet = 'puppy';
    console.log(pet); // puppy
    console.log(corona); // Reference Error
    console.log(lamp); // true * 변수 섀도잉
  }
  
  goTo3F(); // goTo3F 실행 컨텍스트 생성
}

goTo2F(); // goTo2F 실행 컨텍스트 생성

식별자 결정 : 변수나 함수의 값을 결정해내는 것


변수 섀도잉

동일한 식별자로 인해 상위 스코프에서 선언된 식별자의 값이 가려지는 현상

스코프 체인

식별자를 결정할 때 활용하는 스코프들의 연결리스트

스코프 체이닝

식별자를 결정하기 위해 스코프 체인을 통해 찾는 과정 자체


실행 컨텍스트

  • 코드를 실행하는데 필요한 환경(코드 실행에 영향을 주는 조건이나 상태)을 제공하는 객체
  • 코드를 실행할 때 식별자 결정을 더욱 효율적으로 하기 위한 수단
profile
생각이 길면 용기는 사라진다.

0개의 댓글