var, let, const
Javascript는 C나 Java와는 달리, 변수의 타입을 변수를 선언할 때 변수의 타입을 사용하지 않는다. Javascript에서 변수의 종류(타입이 아니다)는 세 가지가 있는데, 바로 var, let, const이다.
var는 아주 기본적인 형태의 변수이다. 기본적으로 전역변수와 같이 사용할 수 있으며, 변수의 생명 주기와 관계없이 호출하고 사용할 수 있다. 이러한 성질 때문에 여러 의도하지 않은 오류가 발생할 수 있으므로, 사용하지 않는 것이 좋다.
let은 var를 개선시킨 형태의 변수이다. 생명 주기의 개념이 존재하며, 선언 직후 값을 할당하지 않으면 undefined라는 값으로 초기화 되어 의도치 않은 값이 할당되는 것을 막을 수 있다. 다른 언어의 변수와 같이 사용되며, 값을 할당한 이후 값을 바꿀 수 있다.
const는 값을 바꿀 수 없는 변수이다. let과 같이 생명 주기의 개념이 존재하며, 선언할 때 값을 할당해야 하며 그 이후 값을 바꿀 수 없다. 이러한 종류가 존재하는 이유는, 프로그램을 만들다 보면 변하지 않았으면 하는 값(예를 들자면, FE에서 request를 보낼 BE의 주소라거나) 혹은 자주 사용하는 값(예를 들자면, 해싱에 사용하는 소수) 등이 존재하기 때문이다. 이러한 값은 그 값을 직접적으로 사용하기 보다는, const로 선언한 뒤 선언한 변수를 사용하는 것이 가독성 측면에서도, 값을 바꾸는 등의 유지보수 측면에서도 좋기 때문이다.