[javascript] var 키워드의 함수 스코프로 인한 문제점

자바스크립트에서 var 키워드는 변수를 함수 스코프로 선언합니다. 이로 인해 발생하는 몇 가지 문제점이 있습니다. 이러한 문제들을 이해하고, ECMAScript 6에서 도입된 letconst 키워드를 통해 이를 해결할 수 있습니다.

  1. 변수 끌어올림 (Hoisting): var 키워드로 선언된 변수는 스코프 맨 위로 끌어올려지는 현상이 발생합니다. 이는 의도하지 않은 동작으로 이어질 수 있습니다.
console.log(x); // undefined
var x = 5;
  1. 블록 스코프 무시: var로 선언한 변수는 블록 스코프를 무시하고 함수 전체에서 접근 가능합니다.
function example() {
  if (true) {
    var y = 10;
  }
  console.log(y); // 10
}

ECMAScript 6에서 도입된 letconst 키워드를 사용하여 이러한 문제점을 해결할 수 있습니다. letconst는 블록 스코프를 따르고, 변수 끌어올림 현상을 줄여 프로그램 동작을 예측 가능하게 만듭니다.

이러한 변경 사항은 모던 자바스크립트 개발에서 코드의 안정성과 가독성을 높이는 데에 도움이 됩니다.