Hoisting 본문

2021 프론트 엔드 로드맵 따라가기/JS

Hoisting

알 수 없는 사용자 2021. 6. 5. 10:38

Hoisting

직역하면 끌어올림이다. js 작업을 할 때 이런 식으로 작성된 코드를 본 적이 있을 것이다.

foo();

function foo() {
  console.log("Hello");
}

함수의 선언이 호출보다 밑에 있음에도 불구하고 위의 코드는 정상적으로 작동하는데 이 모습이 마치 아래의 선언을 호출 위로 끌어올리는 것과 같아 Hoisting이라 부르는 것 같다.

 

정확히는 해당 코드를 메모리에 저장할 때도 순서를 바꾸는 로직은 없다고 한다.

 

또한 선언 부분은 Hoisting이 가능하지만 초기화는 Hoisting이 되지 않는다고 한다.

 

var x = 1; // x 초기화
console.log(x + " " + y); // '1 undefined'
var y = 2;

 

더 깊이있는 내용은 mdn을 참고하도록 하자.

 

https://developer.mozilla.org/ko/docs/Glossary/Hoisting

'2021 프론트 엔드 로드맵 따라가기 > JS' 카테고리의 다른 글

Prototype  (0) 2021.06.05
Built in Constructor  (0) 2021.06.05
특정 범위의 랜덤 정수 값 생성 코드  (0) 2021.06.04
Number()와 parseInt() 차이  (0) 2021.06.04
Local Storage & Session  (0) 2021.06.01
Comments