var, const, let 키워드로 변수를 선언할 수 있다.
무슨 차이가 있을까요 ,,,
흔히들 많이 쓰는 var 키워드의 치명적인 단점.
아래 코드는 에러가 나지 않는다.
var a = "Hello World!";
console.log(a); // Hello World!
var a = "Hello Javascript!";
console.log(a); // Hello Javascript!
이런 짧고 간단한 코드에는 아무 문제 없고 오히려 편할 수도 있다.
코드가 길어진다면? 나도 모르는 새에 내가 설정한 변수의 값이 변경돼 의도되지 않은 결과가 나오겠지.
const와 let은 이러한 var의 단점을 보완하기 위해 ES6 이후 추가된 변수 선언 키워드이다.
let a = "Hello World!";
console.log(a); // Hello World!
let a = "Hello Javascript!";
console.log(a);
// Uncaught SyntaxError : Identifier 'a' has already been declared.
이전 코드에서 var를 let 또는 const로 바꾸면 에러 메시지가 출력된다.
const와 let은 위에서 봤듯이 둘 다 변수를 다시 선언할 수 없다. 둘의 차이점은 immutable 여부에 있다. const는 변수의 값을 변경할 수 없다. 즉 재할당이 불가하다.
const와 let을 우선적으로 사용한다.const를 사용해서 의도하지 않은 값 변경이 일어나지 않도록 하자.