초급의 끄적거림

[JavaScript] var, let, const 차이점 본문

프론트엔드/JavaScript

[JavaScript] var, let, const 차이점

codingD 2020. 6. 8. 10:07

변수 선언시, 사용하는 var / let / const의 차이


1. var (변수 재선언 가능)

var variable = '변수선언';
console.log(variable);  	//변수선언

var variable = '변수선언222';
console.log(variable);  	//변수선언222

변수 선언을 여러 번 해도 에러 없이 각기 다른 값이 출력됨.

필요할 때마다 변수를 사용할 수 있다는 장점이 있으나, 같은 이름의 변수를 남용할 수 있다는 문제도 발생

이를 보완하기 위하여 ES6부터 let과 const가 추가되었음.

 

2. let (변수 재선언 불가능, 변수 재할당 가능)

let variable = '변수선언';
console.log(variable) 		//변수선언

variable = '변수 재할당';
console.log(variable) 		//변수 재할당

let variable = '변수 재선언';
console.log(variable) 		//변수 재선언X

let은 변수의 재할당은 가능하지만, 재선언은 되지 않음

재선언을 했을 경우, Uncaught SyntaxError: Identifier 'variable' has already been declared 오류 발생

 

3. const (변수 재선언 불가능, 변수 재할당 불가능)

const variable = '변수선언'
console.log (variable);  	//변수선언

variable = '변수 재할당'
console.log (variable);  	//변수재할당(X)

const variable = '변수 재선언'
console.log (variable);  	//변수 재선언(X)

const의 경우, constant(상수)의 의미대로 한 번만 선언하고 또 값을 재할당을 통해 바꿀 수 없음

때문에 날짜 포맷이나 16진수 색상 표기법과 같이 기억하기 힘든 값을 변수에 할당하여 별칭으로 사용할 때 유용


  • 재할당이 필요 없는 상수와 객체에는 const를 사용해 불필요한 변수의 재사용을 방지하고 재할당이 필요한 경우에만 let을 사용하되 변수의 스코프를 최대한 좁게 만든다.
Comments