프론트엔드/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을 사용하되 변수의 스코프를 최대한 좁게 만든다.