JavaScript 에서 변수 선언 방식중 var
let
const
는 각각 무엇이 다른가?
를 찾아보다가 선언과 할당이 구분이 잘안갔다.
왜냐? 나는 이때까지 var
사용해 와서 둘의 구분점을 모르고 지나갔다.
//선언
var nice = 'hc'
console.log(nice) // hc
//한번더 선언
var nice = 'ch'
console.log(nice) //ch
//할당
nice = 'hee'
console.log(nice) // hee
아무 문제 없이 실행된다.
var
같은 경우 아무 문제없이 선언과 할당이 실행된다.
그렇다보니 처음 보는 나는 할당 과 선언을 구분하지 못했다.
그러다가
let
const
를 라는걸 알게되었다.
let
은 변수에 재할당이 가능하다.
// let 을 이용한 변수 선언
let good ='nice';
let good ='good';
console.log(good);
//Uncaught SyntaxError: Identifier 'good' has already been declared
let
을 이용해서 변수를 선언하고 또 다시 재선언을 했더니 SyntaxError 가 발생했다.
let
은 변수 재선언이 되지 않는다.
단 !재할당은 가능하다.
let one = 'two'; // 선언
one = 'three'; // 할당
console.log(one);
//three
const
는 재선언,재할당 모두 할 수 없다.
변수 선언에는 기본적으로 const
를 사용하고, 재할당이 필요한 경우에 한정해 let
을 사용하는 것이 좋다.
그리고 객체를 재할당하는 경우는 생각보다 흔하지 않다. const
를 사용하면 의도치 않은 재할당을 방지해 주기 때문에 보다 안전하다.
재할당이 필요한 경우에 한정해 let
을 사용한다. 이때, 변수의 스코프는 최대한 좁게 만든다.
재할당이 필요 없는 상수와 객체에는 const
를 사용한다.
출처 https://velog.io/@bathingape/JavaScript-var-let-const-차이점