[Essentials] 함수 복습(4) - 호이스팅

일상 코딩·2022년 3월 27일
0

JavaScript

목록 보기
24/53
post-thumbnail

호이스팅(Hoisting)

  • 함수 선언부가 유효범위 최상단으로 끌어올려지는 현상
  • 함수의 이름만으로 로직을 대략적으로 유추할 수 있기 때문에 사용된다.
  • 함수 선언부보다 함수 실행이 먼저 되더라도 호이스팅을 이용하면 문제없이 출력 가능하다.
  • 함수 할당 표현
const a = 7;

double(); // TypeError: double is not a function
// 아래와 같이 함수 할당 표현 사용 시에는 함수 먼저 호출 불가! (호이스팅 불가능)
const double = function () {
  console.log(a * 2);
}
  • 함수 선언 표현
const a = 7;

double(); // 14
// 기명 함수(함수 선언) 사용 시에는 호이스팅이 발생하여 함수 먼저 호출 가능! (호이스팅 가능)
function double() {
  console.log(a * 2);
}
profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글