자바스크립트에서는 변수를 선언할 수 있는 3가지 방법이 존재한다.
여러 개발 블로그를 참고하다보면, 비슷한 로직인데, 어느 곳은 var
를 어느 곳은 let
을 사용한 것이 보인다. 필자는 var
의 단점을 알기에 주로 let
를 사용하는편이지만, 더 명확하게 기록하기 위해 정리해두기로 했다.
var
는 큰 문제를 가지고 있다. 바로 변수를 재선언해도 에러가 발생하지 않는다는 것이다.
var test = "민트초코";
console.log(test); // 민트초코
var test = "파인애플피자";
console.log(test); // 파인애플피자
이러한 문제는 코드량이 많아지고, 협업을 할 때 변수의 값을 추적하기 어렵게 만든다.
그래서 ES6 이후, var
의 단점을 보완한 let
과 const
가 나왔다.
let
은 var
와 비슷하나 재선언이 불가능하다.
하지만 재할당은 가능하다
let test = "민트초코";
console.log(test); // 민트초코
test = "파인애플피자";
console.log(test); // 파인애플피자
let test = "닥터페퍼"; // -> 에러 발생
console.log(test);
const
는 재선언과 재할당이 모두 불가능하다.
const
를 사용하면 의도치 않은 재할당을 막아주기 때문에, 일단 const
를 사용하고, 재할당이 필요한 경우에만 let
를 쓰는 것이 좋아보인다.