[typescript] 변수 호이스팅과 함수 호이스팅은 어떤 점에서 차이가 있나요?

변수 호이스팅

변수 호이스팅은 변수 선언만 끌어올리고 초기화는 끌어올리지 않습니다. 즉, 변수를 선언하기 전에 해당 변수를 참조하면 undefined를 반환합니다.

예를 들어, 다음 TypeScript 코드를 살펴보겠습니다.

console.log(myVar); // 결과: undefined
var myVar = 10;

함수 호이스팅

하지만 함수 선언은 해당 함수 전체가 끌어올려지므로 함수를 선언하기 전에 해당 함수를 호출할 수 있습니다.

예를 들어, 다음 TypeScript 코드를 살펴보겠습니다.

myFunc(); // 결과: "Hello, world!"
function myFunc() {
  console.log("Hello, world!");
}

요약하면 변수 호이스팅은 변수 선언만 끌어올리고 초기화는 끌어올리지 않지만, 함수 호이스팅은 해당 함수 전체를 끌어올립니다.