변수 선언

윤희영·2022년 3월 29일
0

var의 변수 선언 단계

  1. 선언 단계: 변수 이름을 등록해서 자바스크립트 엔진에 변수의 존재를 알린다.
  2. 초기화 단계: 값을 저장하기 위한 메모리 공간을 확보하고 암묵적으로 undefined를 할당해 초기화한다.

이러한 초기화 단계를 거치지 않을 경우 확보된 메모리 공간에는 이전에 다른 애플리케이션이 사용했던 값(쓰레기 값, garbage value)이 남아있을 수 있다. 메모리 공간을 확보한 다음, 값을 할당하지 않은 상태에서 곧바로 변수 값을 참조하면 쓰레기 값이 나올 수 있으나 자바스크립트의 var 키워드는 암묵적으로 초기화를 수행하므로 이러한 위험으로부터 안전하다.

변수 이름은 어디에 등록되는가?

변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록된다.

실행 컨텍스트란?

자바 스크립트 엔진이 소스코드를 평가하고 실행하기 위해 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역이다. 자바스크립트 엔진은 실행 컨텍스트를 통해 식별자와 스코프를 관리한다.

변수 이름과 변수 값은 실행 컨텍스트 내에 key-value 객체로 등록되어 관리된다.

ReferenceError

식별자를 통해 값을 참조하려 했지만 자바스크립트 엔진이 등록된 식별자를 찾을 수 없을 때 발생하는 에러를 의미한다.

profile
반갑습니다. 기본을 찾아가기 위해 노력하는 프론트 엔드 개발자입니다.

0개의 댓글