[typescript] 변수 호이스팅과 함수 호이스팅은 어떤 점에서 차이가 있나요?
변수 호이스팅
변수 호이스팅은 변수 선언만 끌어올리고 초기화는 끌어올리지 않습니다. 즉, 변수를 선언하기 전에 해당 변수를 참조하면 undefined
를 반환합니다.
예를 들어, 다음 TypeScript 코드를 살펴보겠습니다.
console.log(myVar); // 결과: undefined
var myVar = 10;
함수 호이스팅
하지만 함수 선언은 해당 함수 전체가 끌어올려지므로 함수를 선언하기 전에 해당 함수를 호출할 수 있습니다.
예를 들어, 다음 TypeScript 코드를 살펴보겠습니다.
myFunc(); // 결과: "Hello, world!"
function myFunc() {
console.log("Hello, world!");
}
요약하면 변수 호이스팅은 변수 선언만 끌어올리고 초기화는 끌어올리지 않지만, 함수 호이스팅은 해당 함수 전체를 끌어올립니다.