JavaScript의 변수 선언에는 var, let, const 3가지 방법이 있다.
그렇다면 var, let, const 차이점이 뭘까? 🤔
재선언, 재할당 이외에 더 많은 차이점 곧 추가하겠습니다!
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으로 선언된 변수는 재할당이 가능하지만, 재선언은 불가능하다.
이것이 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로 선언된 변수는 상수의 값을 재할당할 수 없으며 다시 선언할 수도 없다.
재선언 ❌
// 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을 사용하는 것이 코드의 안정성을 높여줄 방법일 것이다.
간단하지만 제일 중요한 차이점 같아요 !! 자세한 다른 차이점은 더욱 공부하신 다음에 업데이트 해주시면 좋을 거 같아용 좋은 글 잘봤습니다 🔥🔥🔥🔥🔥🔥