함수 선언문과 함수 표현식에서 호이스팅 방식의 차이??

hipAn·2022년 9월 23일
0

끄적끄적 성장일지

목록 보기
12/30

함수 선언문과 함수 표현식에서 호이스팅이 어떤 차이점을 가지고 작동하는지 한번 간략하게 살펴보자.

함수 선언문과 함수 표현식은 보기쉽게 예로 보자면

function a (b,c){
return b+c
}
이게 함수 선언문이다.

const 알랑 = function(b,c){
return b+c
}
이게 함수 표현식이다.

함수 선언문은 함수를 선언 만 한거!
함수 표현식은 함수를 만들어서 변수에 할당한거!

잊지말자.!

여기서 함수 선언문은 호이스팅되어 선언만 해 두어도

윗줄에서 호출하면 컨텍스트에서 불러다가 실행을 시켜준다.

그런데 함수 표현식은 그렇지않다. 선언을 하면 선언부에서만 호이스팅을 하게 된다.

즉 함수 선언문은 어디에 해도 컨텍스트 내부에서 위에있건 아래있건 호이스팅되어 호출하면 즉시 사용가능하고,
함수 표현식은 변수에 할당전에 호출하면 오류가 발생합니다.

저는 복잡하니까 당분간 함수 선언문만 사용하는걸로

0개의 댓글