호이스팅(Hoisting)과 TDZ(Temporal Dead Zone)에 대해 알아보자. 이 두 가지 개념은 변수와 함수의 선언, 초기화, 그리고 접근 순서에 영향을 미치는 개념이다. 이 글에서는 호이스팅과 TDZ에 대한 개념과 작동 방식, 그리고 예제 코드를 통해 살펴본다. 호이스팅이란 무엇인가 호이스팅은 자바스크립트에서 변수와 함수 선언을 스코프의 맨 위로 끌어올리는 동작을 말한다. 이는 코드에서 변수와 함수를 선언하기 전에 사용할 수 있다는 특징을 가지고 있다. 호이스팅은 실제로 코드의 위치가 변경되는 것이 아니라, 컴파일 단계에서 메모리에 공간을 할당하고 변수와 함수에 대한 참조를 스코프의 맨 위로 이동시킨다. 호이스팅의 작동 방식을 이해하기 위해 예제 코드를 살펴보자. console.log(na..