[typescript] 호이스팅이 코드의 실행 순서에 어떤 영향을 미치나요?
예를 들어, 아래 코드를 살펴봅시다:
console.log(myVar);
var myVar = 10;
이 코드는 사실상 아래와 같이 해석됩니다:
var myVar;
console.log(myVar);
myVar = 10;
변수 myVar
의 정의가 선언 이전에 출력되었는데도 오류가 발생하지 않는 이유는 바로 호이스팅 때문입니다. 호이스팅은 변수를 선언하기 전에 접근하는 코드를 허용하지만, 값은 초기화되지 않은 상태로 처리합니다. 이로 인해 undefined
가 출력됩니다.
함수 선언 또한 호이스팅됩니다. 함수를 선언하기 전에 호출해도 오류가 발생하지 않습니다.
호이스팅으로 인해 코드의 실행 순서와 변수 또는 함수의 선언 순서가 일치하지 않을 수 있으므로 주의가 필요합니다. 코드를 이해하고 디버깅할 때 이러한 호이스팅 동작을 고려해야 합니다.