[javascript] var를 사용하는 이유와 그 한계점
JavaScript에서 var
키워드는 변수를 선언하는 데 사용됩니다. var
를 사용하면 다음과 같은 이점이 있습니다:
- 함수 스코프:
var
로 선언된 변수는 함수 스코프를 가지므로 함수 내에서만 접근 가능합니다. - 호이스팅:
var
로 정의된 변수는 호이스팅되어 함수 또는 전역 스코프의 상단으로 올려집니다. - 재할당 및 재선언:
var
로 선언된 변수는 재할당 및 재선언이 가능합니다.
var의 한계점
그러나 var
는 몇 가지 한계가 있습니다:
- 블록 스코프 부재:
var
로 선언된 변수는 블록 스코프를 가지지 않습니다. 이는 예상치 못한 결과를 초래할 수 있습니다. - 최상위 선언 처리:
var
로 선언된 변수는 최상위 스코프로 끌어올려져 이를 전역 변수로 만들 수 있습니다. - 클로저 문제:
var
를 사용하면 클로저 문제가 발생할 수 있습니다. 이로 인해 예기치 못한 동작이 발생할 수 있습니다.
이러한 이유로 ES6에서는 let
과 const
키워드가 도입되었고, 이를 통해 var
의 결점을 보완하고 있습니다.
자료 출처:
- https://www.w3schools.com/js/js_hoisting.asp
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var