언어/JavaScript
var, let, const 변수 선언의 차이
홍시_코딩기록
2023. 5. 24. 19:20
요즘은 var를 권장하지 않는다.
var를 사용하면서 발생하는 문제점
1. 상수인지 변수인지 구분이 안된다.
2. 변수는 let으로 사용한다.
var a = "1";
var a = "10";
var는 위에서 1이라고 정의했어도 아래에서 10이라고 재정의가 가능해 스크립트 오류가 발생할 확률이 높다.
3. scope의 차이
var x = 1;
if (true) {
var x = 2;
console.log(x); // 출력값: 2
}
console.log(x); // 출력값: 2
let x = 1;
if (true) {
let x = 2;
console.log(x); // 출력값: 2
}
console.log(x); // 출력값: 1
var는 블록문 안에서 선언되었어도 밖에서 참조할 수 있고 let이나 const는 블록문 밖을 빠져나오면 효력을 잃게된다.
var는 함수스코프로 funcion 함수 단위를 벗어날 경우 사라진다.