함수와 관련된 여러 가지 성질들 중 호이스팅에 대해 알아보자.
hoist 사전적 의미: 끌어올리다
변수 '선언'과 함수 '선언' 을 끌어 올린다.
호이스팅은 선언과 밀접한 관련이 있다.
자바스크립트 엔진은 코드를 실행하기 전 단계로 코드 전반에 걸쳐 선언된 내용들이 있는지 전체를 훑어 보고 발견하게 되면 위로 끌어 올린다.
함수 선언문
은 통째로 올라가는 반면에 함수 표현식
은 선언만 끌어 올렸다. 할당은 해당 사항이 아니다.
함수 선언문
은 그 자체로 하나의 선언인 반면에 var b =
로 시작하는 문장들은 선언과 할당이 한 문장에 이루어 지고 있는 것으로 분리가 가능하다.
참고사이트
https://developer.mozilla.org/ko/docs/Glossary/Hoisting