본문 바로가기
javascript

javascript var을 쓰지 말아야 하는 이유

by PudgeKim 2021. 5. 3.

JS에서는 변수 선언을 let, var로 할 수 있는데 더 이상 var은 쓰지 않는게 권장됩니다. 이유가 무엇일까요?

 

우선 var는 아래와 같은 코드가 에러없이 작동하게 됩니다.

1
2
3
num = 10;
var num;
console.log(num)
cs

선언을 하기전에 10이란 값을 할당했지만 num에는 10이란 값이 잘 들어갑니다.
이렇게 선언의 위치에 상관없이 선언한 부분을 제일 위로 올려서 인식하는 것을 hoisting이라고 합니다.

또한, var는 block을 무시합니다.

1
2
3
4
5
{
    var num;
    num = 10;
}
console.log(num)
cs

위 코드를 보면 block 안에 존재하는 num변수를 block밖에서도 사용할 수 있습니다.