좀 오래된 강의 영상에서는 변수를 선언할때 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 |