JAVA SCRIPT

[JS] var, let, const에 대해서

해봄코딩 2022. 12. 10. 08:54

 

좀 오래된 강의 영상에서는 변수를 선언할때 var를 사용하고 요근래 강의에서는 let로 선언을 하는 것을 종종 마주친다. 

그래서 각각의 개념을  정리해보기로 했다. 

 


🚩 var

var는 변수 선언에 있어서 단점이 있었다. 

아래와 같이 같은 이름의 변수를 한번 더 선언했는데, 에러가 나오지가 않는다. 

var name = 'suga'
console.log(name) 
//결과값 :  suga 

var name = 'jin'
console.log(name) 
//결과값 : jin

 

이럴때는 간단한 코드는 파악하기에 문제가 없지만, 코드가 길어지면 혼선이 빚어질 수 있다. 

 

그래서 ES6이후, 이를 보완하기 위해서 변수 선언 방식이 새로 추가되었다. 

이게 바로 let과 const이다. 

 

 


🚩 let  

위의 예시에 동일하게 let으로 변수선언을 하면 이미 name에 값이 정의되어 있다고 에러메시지가 출력된다. 

let name = 'suga'
console.log(name) 
//결과값 :  suga 

let name = 'jin'
console.log(name) 
//결과값 : Uncaught SyntaxError: Identifier 'name' has already been declared

여기에 let은 재할당이 가능한데!! 

아래와 같이 jin이라는 결과값을 얻어냈다. 

name = 'jin'
console.log(name)
//결과값:  jin

 


🚩 const

변수재선언이나 재할당이 불가능하다.

name에 jin의 값을 넣으려고 했으나 오류가 났고 재할당을 해도 오류가 난다. 

const name = 'suga'
console.log(name) 
//결과값 :  suga 

const name = 'jin'
console.log(name) 
//결과값 : Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'jin'
console.log(name)
//결과값 : Uncaught SyntaxError: Identifier 'name' has already been declared

 


정리  

var는 혼선을 주니 쓰지 말자! 🙅‍♂️

변수 선언에는 기본적으로 const를  선언하고 

재할당이 필요한 경우에만 let을 쓰자. 

하지만 재할당이 필요한 경우는 흔하지 않다. 

재할당이 필요없는 상수와 객체에는 const를 사용하자. 🙆‍♂️

 

'JAVA SCRIPT' 카테고리의 다른 글

[JS] ES6에 대해서  (0) 2022.12.10
[JS] NaN에 대해서  (0) 2022.12.10
[JS] typeof 연산자에 대해서  (0) 2022.12.10
JS : ?(조건 연산자)에 대해서  (0) 2022.12.07
JS : Date()와 new Date(), getDate()에 대해서  (0) 2022.12.07