함수 선언식과 표현식의 차이

김재민·2021년 5월 22일
0

함수 선언식

함수 선언식은 일반적인 함수 선언을 말한다.
일반적으로 아래와 같이 사용한다.

<script>

function sum(num1, num2){
	return num1 + num2;
}

sum(2,3)
// sum = 5;

</script>

함수 표현식

익명 함수를 값으로써 변수에 할당한 표현식을 함수 표현식이라고 한다.
함수 표현식은 아래와 같은 문법으로 선언하고 호출할 수 있다.

<script>

let sum = function(num1,num2) {
return num1 + num2;
}

sum(2,3)
// sum = 5
</script>

함수 선언식과 표현식의 차이점

함수선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다.

함수 선언식은 코드를 구현한 위치와 관계없이 호이스팅에 의해 자바스크립트를 해석할 때 맨 위로 끌어 올려진다.

예를 들자면

<script>

sum(2,3)
// sum = 5;

function sum(num1, num2){
	return num1 + num2;
}

</script>

위와 같은 코드는 자바스크립트 호이스팅에 의해

<script>

function sum(num1, num2){
	return num1 + num2;
}

sum(2,3)
// sum = 5;


</script>

해석할때 선언식이 맨위로 끌어올려지는 것이다.

profile
Junior Front-end engineer

0개의 댓글