[typescript] 호이스팅이 코드의 실행 순서에 어떤 영향을 미치나요?

예를 들어, 아래 코드를 살펴봅시다:

console.log(myVar);
var myVar = 10;

이 코드는 사실상 아래와 같이 해석됩니다:

var myVar;
console.log(myVar);
myVar = 10;

변수 myVar의 정의가 선언 이전에 출력되었는데도 오류가 발생하지 않는 이유는 바로 호이스팅 때문입니다. 호이스팅은 변수를 선언하기 전에 접근하는 코드를 허용하지만, 값은 초기화되지 않은 상태로 처리합니다. 이로 인해 undefined가 출력됩니다.

함수 선언 또한 호이스팅됩니다. 함수를 선언하기 전에 호출해도 오류가 발생하지 않습니다.

호이스팅으로 인해 코드의 실행 순서와 변수 또는 함수의 선언 순서가 일치하지 않을 수 있으므로 주의가 필요합니다. 코드를 이해하고 디버깅할 때 이러한 호이스팅 동작을 고려해야 합니다.