본문 바로가기
Web/Java Script

[JS] 자바스크립트 변수 정의 과정

by _eunji_ 2022. 4. 22.

 

자바스크립트 엔진

- 자바스크립트 엔진은 자바스크립트 코드를 읽어 실행하는 프로그램

- 자바스크립트 코드는 자바스크립트 엔진을 통해 파싱 되고 실행

- 크롬 브라우저 경우 V8 엔진 사용

- node.js는 브라우저 외의 환경에서 자바스크립트 코드를 실행하도록 하는 프로그램

- node.js는 여러 프로그램으로 구성, 자바스크립트 코드를 읽는 프로그램으로 V8 사용 

- 브라우저와 node.js 환경은 같은 자바스크립트 코드를 작성해도 다르게 동작 가능

 

 

자바스크립트 코드 실행

- 자바스크립트 엔진은 코드 실행 전 실행 컨텍스트 생성

* 실행 컨텍스트는 두 단계를 통해 생성

  1. 생성 단계 - 자바 스크립트 엔진 : 변수 선언 읽기
  2. 실행 단계 - 자바 스크립트 엔진 : 변수 값 할당

 

 

렉시컬 환경 Lexical Environment

- 함수가 사용하는 변수들을 둘러싼 환경

- 특정 변수의 값은 함수의 렉시컬 환경 안에서 찾을 수 있음

- 실행 컨텍스트 안에 정의된 Variable Object

 

 

생성 단계에서 코드 실행

- JS엔진은 함수 선언문, 함수 표현식, 변수 등을 읽어 실행 컨텍스트에 저장

- 변수의 경우 실행 컨텍스트의 렉시컬 환경을 구성

- 함수 선언문 외에 변수 값 저장 X

 

 

실행단계에서 코드 실행

- 자바스크립트 엔진은 변수 값을 할당하는 구문을 만나면 실행 컨텍스트에 값을 저장

- 코드를 한 줄씩 읽어 나가며 실행

 

 

 

댓글