본문 바로가기

Elice

[TIL]엘리스트랙 3주차 Javascript

  • 자바스크립트 엔진은 코드 실행 전 실행 컨텍스트를 생성한다.
  • 실행 컨텍스트는 두 단계를 통해 생성된다.
  • 생성 단계에서 자바스크립트 엔진은 변수 선언을 읽는다.
  • 실행 단계에서 자바스크립트 엔진은 변수 값을 할당한다.

 

렉시컬 환경(Lexical Environment)

  • 함수의 렉시컬 환경은, 함수가 사용하는 변수들을 둘러싼 환경을 의미한다.
  • 특정 변수의 값은 함수의 렉시컬 환경 안에서 찾을 수 있다.
  • 렉시컬 환경은 실행 컨텍스트 안에 정의된 Variable Object로 이해할 수 있다.

생성 단계에서의 코드 실행

  • 자바스크립트 엔진은 생성 단계에서 함수 선언문, 함수 표현식, 변수 등을 읽어 실행 컨텍스트에 저장한다.
  • 변수의 경우, 실행 컨텍스트의 렉시컬 환경을 구성한다.
  • 함수 선언문 외에 변수는 값이 저장되지 않는다.    /// 함수-> 값   변수-> 값x

실행 단계에서의 코드 실행

  • 자바스크립트 엔진은 변수에 값을 할당하는 구문을 만나면 실행 컨텍스트에 값을 저장한다.
  • 그 외 코드를 한 줄씩 읽어 나가며 실행한다.

코드 실행 시 변수 처리

  • 자바스크립트 엔진이 코드를 읽으면, 생성 단계에서 실행 컨텍스트를 생성한다.
  • 함수 선언문은 생성 단계에서 함수 전체가 실행 컨텍스트에 저장된다.
  • var 변수는 저장 시 undefined로 초기화된다.
  • let, const는 초기화 되지않는다. -> unintialized

 

'Elice' 카테고리의 다른 글

[TIL]엘리스트랙 4주차 3일  (0) 2023.08.30
[TIL]엘리스트랙 4주차 1일  (0) 2023.08.28
[TIL] 엘리스트랙 Javascript  (0) 2023.08.24
[TIL]엘리스트랙 Javascript  (0) 2023.08.23
[TIL] 엘리스 트랙  (0) 2023.08.22