본문 바로가기
JAVASCRIPT

[JAVASCRIPT] var, let, const 차이

by madinthe90 2022. 6. 3.
반응형

JAVASCRIPT 변수선언시 사용하는 var, let, const의 차이에 대해 정리하려고한다!
스코프(Scope)와 호이스팅(Hoisting)의 개념에 대해서도 보게되었는데 따로 정리하도록하고
오늘은 var, let, const 개념정도만 정리하려고한다.

 

- var

var로 변수로 선언을 할때는 중복으로 여러번해도 오류없이 선언이 가능하다.
중복선언의 위험과 남용하는 문제 가능성이 높아 단점이 더 크다 볼 수 있으며
ES6부터는 이를 보완해 let과 const가 추가되었다.

var name = 'kim';
console.log(name);	//출력: kim

//재할당
name = 'choi';
console.log(name);	//출력: choi

//재선언
var name = 'lee';
console.log(name);	//출력: lee

 

- let 

let은 변수 선언 후 재할당하는 것은 가능하나
같은 변수명으로 재선언시 에러가 발생한다.

let name = 'roh';
console.log(name);	//출력: roh

//재할당
name = 'park';
console.log(name);	//출력: park

//재선언
let name = 'park';
//에러 발생 : Uncaught SyntaxError: Identifier 'name' has already been declared
console.log(name);

 

- const

const는 변수 선언 후 재할당 및 재선언 모두 불가능하다.
처음 선언하고 다른 값을 넣을 수 없다.
상수를 선언하는 변수로 사용된다.

const name = 'shin';
console.log(name);

//재선언
const name = 'oh';
//에러 발생 : Uncaught SyntaxError: Identifier 'name' has already been declared
console.log(name);

//재할당
name = 'jung';
//에러 발생 : Uncaught TypeError: Assignment to constant variable.
console.log(name);

- 정리

  중복선언 재할당
var O O
let X O
const X X


재할당이 필요하면 let, 필요없다면 const를 사용하자!

반응형

댓글