var, let, const 차이

표정민·2020년 6월 18일
2
post-thumbnail

Javascript에 변수 선언 방식인 var, let, const에 각각 차이점을 알아보도록 하자.


🥠 var

var를 사용하면 변수 선언 및 할당이 유동적으로 변경될 수 있는 단점이 있다.

var pyo = 'jung min';
console.log(pyo); // output : jung min

var pyo = 'jung';
console.log(pyo); // output : jung

pyo = 'min';
console.log(pyo); // output : min

위와 같이 변수 재선언 및 재할당을 하였는데도 에러가 나오지 않고 각각 다른 값이 출력 되는 것을 볼 수 있다.

이는 간단한 테스트에서는 편리할 수 있으나 코드량이 많아 지거나 복잡한 구조의 프로그래밍을 할 때는 디버깅 자체가 어려워진다.

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


🥠 let

let pyo = 'jung min';
console.log(pyo); // output : jung min

let pyo = 'jung';
console.log(pyo); // Uncaught SyntaxError: Identifier 'pyo' has already been declared

pyo = 'min';
console.log(pyo); // output : min

let을 사용하면 재할당은 가능 하나 재선언을 하게 될 경우에는 ncaught SyntaxError: Identifier 'pyo' has already been declared와 같이 이미 선언되어 있다는 에러 메시지가 출력된다.


🥠 const

const pyo = 'jung min';
console.log(pyo); // output : jung min

const pyo = 'jung';
console.log(pyo); // Uncaught SyntaxError: Identifier 'pyo' has already been declared

pyo = 'min';
console.log(pyo); // Uncaught TypeError: Assignment to constant variable.

const의 경우 재선언 및 재 할당이 모두 불가능하다.


🥠 차이점

Value재선언재할당
varOO
letXO
constXX

var의 경우 버그 발생과 메모리 누수의 위험 등이 있기 때문에 var말고 let, const를 사용하시는 것이 좋습니다.

0개의 댓글