오늘은 js 변수 선언 방식 var, let, const의 차이점에 대해 알아보자!
목차
- var
- let
- const
- var vs let vs const
01. var란 무엇일까?
var name = 'kim';
console.log(name); // kim
name = 'park';
console.log(name); // park
var name = 'lee';
console.log(name); // lee
var는 원조 변수 선언 방식으로, 위와 같이 선언한 변수가 동일한 이름으로 중복 선언이 가능하다. 마지막에 할당된 값이 최종 변수에 저장되는 형식이다.
간단한 코드가 아닌 복잡한 코드에서 동일한 이름의 변수가 여러번 선언되어 사용되면 어떤 부분에서 값이 변경되는지, 문제가 발생되는지 알 수 없다. 그리하여 나온 추가 변수선언 방법이 바로 let과 const인 것이다.
02. let이란 무엇일까?
let name = 'kim';
console.log(name); // kim
name = 'park';
console.log(name); // park
let name = 'lee'; // 중복 선언 시 Error 발생!
console.log(name); // SyntaxError: Identifier 'name' has already been declared
let은 var와 달리 중복 선언 시, error가 발생하며 위와 같은 에러 메시지가 나온다. 중복 선언을 하는 것은 불가능하지만 값을 재할당 하는 것은 가능하다.
03. const란 무엇일까?
const name = 'kim';
console.log(name); // kim
name = 'park'; // 재할당 시 Error 발생!
console.log(name); // Uncaught TypeError: Assignment to constant variable
const name = 'lee'; // 중복 선언 시 Error 발생!
console.log(name); // SyntaxError: Identifier 'name' has already been declared
const는 재할당도, 중복 선언도 할 수 없다. 값을 한 번 지정하면 바꾸지 못한다!
04. var vs let vs const
var | let | const | |
값 재할당 | O | O | X |
중복 선언 | O | X | X |