본문 바로가기
JavaScript

[JavaScript] 함수 선언식 vs 함수 표현식 ?

by dev또리 2023. 7. 25.
728x90

 

함수 선언식, 함수 표현식?

 

 

1. 함수 선언식 (function declartion)

 

함수명이 정의되어 있고, 별도의 할당 명령이 없는 것

function sum(a,b) {
    return a + b;
}

 

 

2.함수 표현식 (function Expression)

 

정의한 function을 별도의 변수에 할당하는 것

const sum = function(a,b) {
    return a + b;
}

 

 

 

 

 차이점 ?

 

호이스팅에서 차이가 발생한다.

 

함수 선언식은 함수 전체를 호이스팅 한다. 

정의된 범위의 맨 위로 호이스팅되서 함수 선언 전에 함수를 사용할 수 있다는 것이다.

 

함수 표현식은 별도의 변수에 할당하게 되는데,

변수는 선언부와 할당부를 나누어 호이스팅 하게 된다.

선언부만 호이스팅하게 된다.

728x90

댓글