실행 컨텍스트

한재창·2022년 11월 29일
0

실행컨텍스트

  • 호이스팅 : 선언된 변수를 위로 끌어올림

  • 스택 : LIFO 마지막에 들어가는게 처음으로 나오는 것 (바구니)

  • 큐 : FIFO 처음에 넣은 것이 처음으로 나오는 것 (밑이 뚫려있는 원통)

  • 콜스택 : 객체를 콜스택에 쌓을 거라 스택에 유의한다.

  • 전역공간 : 자바스크립트 파일이 만들어지는 순간 자동 부여된다.

  • eval()함수 : 추후에 자세히 설명

  • 순서대로 쌓이고 위에서 부터 다시 나간다.

  • VariableEnvironment

    • 현재 컨텍스트 내의 식별자 정보
    • 외부 환경 정보 (output)
    • 선언 시점 LexicalEnvironment의 snapshot
      • snapshot : 그 순간을 찍어놓는 것
  • LexicalEnvironment

    • VariableEnvironment와 동일하나 변경사항이 실시간으로 반영
      내용들이 실시간으로 변한다.

💡 두개는 선언시점에 똑같다.
💡 다 실행되면 콜스택이 비어짐, 수집하는거지 실행되는건 아님

  • 함수 선언문은 그 자체로 호이스팅 대상이 된다.

  • 함수 표현식은 var mutifly 부분만 호이스팅 된다.

  • 용어

    • 스코프
      • 어떠한 변수나 식별자가 유효한 범위 (어느 부분에서 유효한가)
    • 스코프 체인
      • 식별자의 유효범위를 안에서부터 바깥으로 차례로 검색해나가는 것
    • outer
      • 스코프 체인이 가능토록 외부 환경의 참조정보를 가지고 있는 것
  • 결론

profile
취준 개발자

0개의 댓글