JS var, let, const 차이점 이제는 알아보자

한슬희·2021년 9월 14일
5

Javascript

목록 보기
1/3
post-thumbnail

JavaScript의 변수 선언에는 var, let, const 3가지 방법이 있다.

그렇다면 var, let, const 차이점이 뭘까? 🤔

재선언, 재할당 이외에 더 많은 차이점 곧 추가하겠습니다!

var

var은 변수를 선언한다. var은 ES6 이전에 나온 유일한 변수 선언 방법이다.

재선언 ⭕

var a = "Hi";
console.log(a); // Hi

var a = "Bye";
console.log(a); // Bye

재할당 ⭕

var a = "Hi";
console.log(a); // Hi

a = "Bye";
console.log(a); // Bye

위와 같이 var은 재선언과 재할당 모두 가능하다.

그러나 var은 재선언과 재할당이 가능하기 때문에 해당 코드가 어떻게 작동할지 예상하기 어려울 수 있고 직관적이지 않다. 코드량이 많아지면 값이 어디서 어떻게 변경했는지 확인하기 번거로울 수 있다.

이를 보완하기 위해 ES6부터 let, const 방식이 추가되었다.

let

let으로 선언된 변수는 재할당이 가능하지만, 재선언은 불가능하다.
이것이 var과 let의 가장 큰 차이점이다.

재선언 ❌

// Uncaught SyntaxError: Identifier 'b' has already been declared
let b = "Yes";
console.log(b);

let b = "No";
console.log(b);

재할당 ⭕

let b = "Yes";
console.log(b); // Yes

b = "Hmm";
console.log(b); // Hmm

위와 같이 let은 재선언이 불가능하지만 재할당은 가능하다.

const

const는 상수를 선언한다.
const로 선언된 변수는 상수의 값을 재할당할 수 없으며 다시 선언할 수도 없다.

재선언 ❌

// Uncaught SyntaxError: Identifier 'c' has already been declared
const c = "Go";
console.log(c);

const c = "Wait";
console.log(c);

재할당 ❌

// Uncaught TypeError: Assignment to constant variable.
const b = "Go";
console.log(b);

b = "Wait";
console.log(b);

위와 같이 const는 재선언과 재할당 모두 불가능하다.

요약

변수 값을 재할당이 필요 없는 경우 const를 사용하고 재할당할 필요가 있을 경우 let을 사용하는 것이 코드의 안정성을 높여줄 방법일 것이다.

profile
🧡 Frontend developer / 어제보다 오늘 더 성장한 개발자

4개의 댓글

comment-user-thumbnail
2021년 9월 14일

간단하지만 제일 중요한 차이점 같아요 !! 자세한 다른 차이점은 더욱 공부하신 다음에 업데이트 해주시면 좋을 거 같아용 좋은 글 잘봤습니다 🔥🔥🔥🔥🔥🔥

1개의 답글
comment-user-thumbnail
2021년 9월 16일

안녕하세요. var, let, const 는 선언 및 할당외에도 차이가 많이 있습니다.
변수 선언이 어떤 과정을 거쳐서 선언되는지, 호이스팅이란 무엇인지와 왜 발생하는지, TDZ 가 무엇인지에 대해 알아보시면 차이점에 대해 많은 내용을 확인하실 수 있어요

1개의 답글