[Computer Science] var, let, const의 차이

자바스크립트에서 변수 선언할 때 사용되는 var, let, const는 도대체 어떤 차이점이 있을까?
간단하게 알아보았다.

var

var로 변수 선언을 했을 때 가장 큰 특징은 중복 선언이 가능하다는 점이다.

var a = 100;
console.log(a) // 결과값 : 100

var a = 200;
console.log(a) // 결과값 : 200

var a = 300;
console.log(a) // 결과값 : 300

위와 같이 중복 선언을 했을 때 에러가 발생하지 않고 중복 선언이 가능하다.
ES6에서는 이런 중복 선언이 가능한 문제를 해결하기 위해 let과 const를 추가했다.


let

let의 경우 변수명을 중복으로 선언하면 에러가 발생한다.
하지만 중복 선언이 아니라 재할당은 가능하다.

let name = "duru"
console.log(name) // 결과값 : duru

let name = "kim"
console.log(name) // 결과값 : error 발생

name = "kim"
console.log(name) // 결과값 : kim

const

const는 선언과 초기화가 동시에 진행되어야 한다.

const name; // error 발생
const name = "duru"

const는 let과 마찬가지로 재선언이 불가능하고, 재할당도 불가능하다. 재할당의 경우, 원시 값은 불가능하지만, 객체는 가능하다. const 키워드는 재할당을 금지할 뿐, ‘불변’을 의미하지 않는다.

const name = "duru"
name = "kim" // error 발생

// 객체의 재할당
const name = {
	eng: "duru",
}
name.eng = "kim"
console.log(name) // 결과값 : { eng : "kim" }

좋은 웹페이지 즐겨찾기