[javascript] let과 const가 도입되기 전의 자바스크립트 변수 관리 방식

자바스크립크트의 변수는 var 키워드를 사용하여 선언되었습니다. var은 함수 스코프를 가지기 때문에 함수 내에서 선언된 변수는 해당 함수의 범위 내에서만 유효했습니다.

전역 범위 변수

var 키워드를 사용하여 선언된 변수는 전역 범위에서 사용될 수 있었습니다. 이는 의도치 않은 변수 덮어쓰기와 코드 유지보수의 어려움을 일으킬 수 있었습니다.

var globalVar = 10;

function updateGlobalVar() {
  globalVar = 20;
}

updateGlobalVar();
console.log(globalVar); // 20

호이스팅

var로 선언된 변수는 호이스팅(hoisting)이 발생했습니다. 이는 변수의 선언이 해당 범위의 최상단으로 끌어올려지는 동작을 의미합니다.

console.log(hoistedVar); // undefined
var hoistedVar = 10;

정리

이러한 변수 관리 방식은 변수의 범위와 생명주기에 대한 혼동과 예기치 않은 동작을 초래할 수 있었습니다. 이러한 문제를 해결하고자 ES6부터 letconst 키워드가 도입되어 변수 관리 방식이 개선되었습니다.

참고 링크: MDN Web Docs - var