[JavaScript] 변수 선언, 할당, 호이스팅

olwooz·2022년 12월 12일
0

JavaScript

목록 보기
1/5

변수 선언

JavaScript에서는 var, let, const 키워드를 이용해 변수를 선언할 수 있다.

var a;
let b;
const C = 1;

JavaScript 엔진은 변수를 다음과 같은 2단계에 거쳐 선언한다.

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

var 키워드를 사용해 변수를 선언하면 선언 단계와 초기화 단계가 동시에 진행된다.
const 키워드를 사용해 변수를 선언할 땐 명시적으로 초기화를 해줘야 한다.

변수 선언의 실행 시점과 변수 호이스팅

변수 선언은 소스코드가 한 줄씩 순차적으로 실행되는 시점인 런타임이 아니라 그 이전 단계에서 먼저 실행된다.

JavaScript 엔진은 소스코드를 실행할 때 다음 과정을 거친다.

  1. 변수 선언을 포함한 모든 선언문(변수, 함수 등)을 소스코드에서 찾아내 먼저 실행
  2. 선언문을 제외한 소스코드를 한 줄씩 순차적으로 실행

변수 선언문이 런타임 이전에 실행되기 때문에 코드의 선두로 끌어 올려진 것처럼 동작하는데,
이를 변수 호이스팅 이라고 한다.

세 줄 요약

  1. var, let, const 키워드를 통해 변수를 선언할 수 있다.
  2. JavaScript 엔진은 변수 선언 시 1. 선언하고 2. 초기화하는 2단계의 과정을 거친다.
  3. 변수 선언문은 런타임 전에 실행되어 코드 맨 위로 가고, 이를 변수 호이스팅이라 한다.

0개의 댓글