[typescript] 실행 컨텍스트와 호이스팅의 개념을 이용하여 코드를 해석하는 방법은 무엇인가요?
코드를 해석할 때 실행 컨텍스트와 호이스팅의 개념을 이해하는 것이 중요합니다.
실행 컨텍스트
실행 컨텍스트란 코드가 실행될 때 생성되는 환경의 추상적인 개념입니다. 각 실행 컨텍스트는 변수 객체, 스코프 체인, this 값 등의 정보를 담고 있습니다.
호이스팅
호이스팅은 코드 해석 단계에서 변수 및 함수 선언을 해당 스코프의 최상단으로 끌어올리는 것을 말합니다. 이는 변수와 함수가 선언된 위치와 상관없이 참조할 수 있다는 특징을 갖습니다.
코드 해석 예시
아래는 TypeScript 코드의 실행 컨텍스트와 호이스팅 개념을 이용하여 해석하는 예시입니다.
console.log(myVar); // undefined
var myVar = 5;
function myFn() {
console.log("Hello!");
}
myFn(); // "Hello!"
위 코드에서 myVar
와 myFn
은 호이스팅에 의해 선언부가 해당 스코프의 최상단으로 올라가게 됩니다. 이해를 돕기 위해 실제 코드가 어떻게 실행되는지 자세히 분석하는 것이 중요합니다.
이러한 실행 컨텍스트와 호이스팅의 개념을 이해하면 코드를 더 잘 이해하고 예측할 수 있게 됩니다.
참고 문헌:
- https://developer.mozilla.org/ko/docs/Glossary/Execution_context
- https://poiemaweb.com/js-execution-context
- https://velog.io/@ddalpange/hoisting