holdanddeepdive/javascript-deep-dive

23장 실행컨텍스트 헷갈리던 개념 정리

Opened this issue · 0 comments

기존에 있던 오개념(혼동하던 개념)

  1. 코드 전체를 평가 후, 실행?
  • 런타임이라는 단어를 오해해서 생긴 듯
  • 실제로는 평가실행을 반복한다. => 두가지를 합쳐서 런타임으로 부르는 줄 알았는데 실행만 런타임임.
  1. (파생된 오해) 렉시컬 스코프가 어떻게 문맥과 별개일 수 있지?
  • 문맥 == 런타임으로 해석해서 생긴 오해.
  • 문맥이란 어떻게 정의했는지가 아니고 호출했는지를 생각해야한다.
  • 반대로 렉시컬 스코프는 변수나 함수의 정의된 위치를 말하는데 이게 자연스럽게 생각되는

책을 읽을 때, 와닿지 않던 어휘를 어떻게 바꿔서 읽었는지

  1. 렉시컬 ==> 어휘
  2. 레코드 ==> 공간
  3. 바인딩 ==> 값 할당

예문) 참고로 전역 환경 레코드(공간 )를 구성하는 객체 환경 레코드(공간 )와 선언적 환경 레코드(공간 )에는 this 바인딩(값 할당)이 없다. this 바인딩(값 할당)은 전역 환경 레코드(공간 )와 함수환경 레코드(공간 )에만 존재한다.