서버/nodejs

갑자기 궁금해져서 정리하는 js 변수 선언 방식

프로젝트를 진행 하면서 여러 자료를 참고하는데, 문득 const / var / let 의 차이를 알고 싶어져서 정리하게 되었다.

 

1. var

var은 큰 단점을 가진다.

var test = 'god'
console.log(test) // god

var test = 'sang'
console.log(test) // sang

같은 이름의 변수를 다시 선언해도 각각 다른 값이 출력된다.

유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있지만, 큰 프로젝트 처럼 코드량이 많아 질 경우 가독성이 떨어진다. 

이를 보완하기 위해 추가 된 변수 선언 방식이 'let' 과 'const' 이다.

 

2. let, const

위 var의 코드에서 변수 선언 방식만 바꾸게 되면 아래와 같다.

let test = 'god'
console.log(test) // god

let test = 'sang'
console.log(test) 
// Uncaught SyntaxError: Identifier 'test' has already been declared

같은 이름의 변수를 다시 선언하게 되면, 이미 선언되었다는 에러 메세지가 출력된다. 이는 const도 마찬가지이다.

let 과 const는 같아보이지만, 둘의 차이점은 'imutable'이다.

let은 재할당이 가능하지만, const는 재할당이 불가능하다.

 

정리하자면, 기본적으로는 const를 사용하되, 재할당이 필요한 경우에만 let을 사용하여 변수를 선언하는 것이 좋다.

 

참고 링크

velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90