[typescript] 호이스팅이란 무엇인가요?

이것은 다소 혼란스러울 수 있지만, 예를 들어 변수를 선언하기 전에 참조하는 것이 가능하다는 장점이 있습니다. 다만, 코드의 가독성과 관리에 있어 혼란을 야기할 수 있기 때문에 주의가 필요합니다.

console.log(myVar);  // undefined
var myVar = 5;

위의 예시에서 myVar이 선언 이전에 참조되었지만, 코드를 실행하면 undefined가 출력됩니다. 이는 호이스팅이 발생하여 myVar이 선언 위치와 상관없이 참조 가능하게 되었기 때문입니다.

이러한 동작으로부터 변수나 함수를 선언할 때 주의가 요구되며, 호이스팅에 관한 이해가 코드 작성시 필수적입니다.

관련 참고 자료:

  1. MDN Web Docs - Hoisting
  2. TypeScript Handbook - Variable Declaration