web

[JAVASCRIPT] 변수 선언 예약어 : var, let, const의 차이

inthyes 2023. 7. 29. 10:55

자바스크립트에서 변수를 선언할 때 사용하는 명령어는 "var", "let", "const" 이렇게 세가지이다.

이 셋은 어떻게 다를까?

 

이 셋 중 var이 가장 먼저 생겨났다. 

var 이후에 두가지의 예약어가 더 추가로 생겨난 것에 대해 이해하기 위해서는 호이스팅과 재선언, 재할당에 대한 이해가 필요하다.


🔑var의 특징

호이스팅(hoisting)

끌어올린다라는 뜻으로 상황에 따라 변수의 선언과 할당을 분리하여 선언 부분을 스코프의 가장 위쪽으로 끌어올리는 것을 말한다.

호이스팅으로 인해 var예약어를 사용한 변수는 선언하기전에 사용하면 프로그램에서 오류가 발생될 수 있다.

 

재선언과 재할당

var을 사용한 변수는 재선언과 재할당이 가능하다.

변수의 재선언은 말 그대로 var을 사용한 선언 자체를 다시하는 것을 말한다.

변수의 재할당은 변수의 값을 다시 할당하는 것을 말한다.

 

이러한 var예약어의 기능을 분리하여 사용하기 위해 const와 let이 등장하였다.

 

🔑let의 특징

let예약어는 블록 범위 내에서만 접근 가능하다.

재할당은 가능하지만 재선언은 할 수 없다.

 

🔑const의 특징

const예약어는 블록 범위 내에서만 접근 가능하다.

const예악어는 재할당, 재선언 모두 불가하다.

 

var대신 let, const를 사용하는 습관을 길러야한다. 이유는 모두 호이스팅되지만 var은 초기화가 되어 undefined가 되지만 let, const예약어는 초기화되지 않기 때문이다.

let은 재할당될 가능성이 있는 변수를 선언할 때, const는 한차례의 선언 후 재할당이 발생하지 않을 변수를 선언할 때 사용하면 된다.

'web' 카테고리의 다른 글

[Git] git remote 명령어  (0) 2023.08.09
[Node.js] __dirname 사용법  (0) 2023.08.04
[GIT] 커밋 메세지 규칙  (0) 2023.07.31
undefined와 null의 차이점  (0) 2023.07.30
[VSCODE] 왜 내 우측 중괄호는 눌리지 않을까  (0) 2023.07.28