자바스크립트에서 변수를 생성하는 방법은 3가지가 있습니다. 이번 포스트에서는 각각의 변수 생성법에 어떤 차이가 있는지 알아보도록 하겠습니다.


#var

우선 가장 기본적인 형태는 var를 이용하는 것입니다. 영어 "Variable"의 약자로 변수를 뜻합니다. 특징으로는 생성한 변수의 값을 바꾸는 것이 가능하고, 다시 같은 이름의 변수를 재정의 하는 것이 가능하다는 점입니다.

var a = "Hello";
console.log(a);
// 결과 -> Hello

a = "Bye";
console.log(a);
// 결과 -> Bye

var a = "World";
console.log(a);
// 결과 -> World

위의 결과에서도 알 수 있듯이, var는 가장 유연한 변수 생성 값입니다.

#const

두번째는 const 입니다. 영어 "constant"의 약자로 정수를 뜻합니다. 정수이기 때문에 var 처럼 생성한 후에 값을 바꾸거나, 같은 이름의 정수를 재정의 하는 것이 불가능합니다.

const b = "Hello";
console.log(b);
// 결과 -> Hello

b = "Bye";
// 에러

const b = "World";
// 에러

var b = "Var";
// 에러

절대로 바뀌어서는 안되는 값을 저장할 때 사용하면 좋습니다.

#let

자바스크립트 ES6 버전부터는 let이 추가되었습니다. 기본적으로 var과 매우 흡사하지만, 한번 정의한 변수를 나중에 같은 이름으로 다시 재정의 할 수 없다는 차이점이 있습니다.

let c = "Hello";
console.log(c);
// 결과 -> Hello

c = "Bye";
console.log(c);
// 결과 -> Bye

let c = "World";
// 에러

var c = "Var";
// 에러

const c = "Const";
// 에러

varconst의 중간쯤 되는 방법이라고 생각하면 됩니다.


변수를 생성하는 방법은 3가지가 있고, 각 방법마다 조금씩 차이가 있지만, 어떤 방법으로 변수를 생성하던 해당 이름을 가진 변수에 저장할 수 있는 값에 대한 차이점은 없습니다. var,const,let 어느 방식으로 생성된 변수던, 문자열, 숫자, 함수, 배열 등 유효한 자바스크립트의 데이터 타입이라면 저장이 가능합니다.

본인의 개발 코드 상황에 맞게 나눠서 사용하면 됩니다 :)