본문 바로가기
자바스크립트

함수 호이스팅

by 리양 2021. 7. 5.

함수를 정의하는 법에는

  1. 함수 선언문 
  2. 함수 표현식 
  3. Function() 생성자 함수 

가 있다. 하지만 이들 사이에서는 동작 방식이 약간 차이가 있다. 그 중의 하나가 바로 함수 호이스팅이다.

 

// 함수 선언문 형태로 함수 정의

add(2,3)   // (출력문) 5

function add(x,y){
	return x+y;
}

add(2,3)	// (출력문) 5

함수 선언문 형태로 정의된 함수는

함수의 위치와 상관 없이 호출이 가능하다.

 

 

// 함수 표현식 형태로 함수 정의

add(2,3)   // uncaught type error

var add = function(x,y){
	return x+y;
}

add(2,3)	// (출력문) 5

함수 표현식 형태로 정의된 함수는

함수가 생성되고 난 이후부터 호출이 가능하다.