HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/
NodeJs
NodeJs
/
Javascript
Javascript
/
3️⃣
호이스팅
3️⃣

호이스팅

매개변수와 변수에 대한 호이스팅

  • 변수의 선언을 제일 위로 끌어올린다.
function a () { var x = 1; console.log(x); var x; console.log(x); var x = 2; console.log(x); } a();
원본 코드
function a () { var x; var x; var x; x = 1; console.log(x); console.log(x); x = 2; console.log(x); } a();
호이스팅을 마친 상태 (실제로 자바스크립트 엔진이 이렇게 코드를 바꾸는건 아니고, 이해하기 쉽도록 코드 변형한 것)

함수 선언 끌어올려짐(호이스팅)

호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미
function foo() { bar(); function bar() { ... } }
  • 자바스크립트는 해당 스코프에서 함수 선언을 가장 먼저 처리하는데, 이런 특징을 끌어올림이라고 함 ⇒ 함수를 선언하기 전에 참조할 수 있음