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

한서연·2022년 1월 5일
1
post-thumbnail

JavaScript의 일반 함수 에서는 function 키워드를 사용하여 함수를 선언한다. function 키워드를 사용하면 함수 선언문함수 표현식을 써서 함수를 선언할 수 있다.

함수 선언식 (Function Declaration)

일반적인 프로그래밍 언어에서의 함수 선언과 비슷한 기본적인 형식이다.
변수 선언이 const나 let으로 시작해야 하는 것처럼 함수 선언은 function으로 시작한다. 선언 된 함수는 나중 사용을 위해 저장되며, call 될 때 실행된다.

function hello() {
  return "안녕하세요";
}

선언한 함수를 사용하려면 아래와 같이 해당 함수 이름을 호출하면 된다.

hello();  //"안녕하세요";

함수 표현식 (Function Expression)

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

변수라는 그릇에 함수의 표현을 담아놓은 형태로, 유연한 자바스크립트 언어의 특징이 잘 나타나는 함수 선언 방식이다.
함수 표현식이 변수에 저장되면 변수는 함수처럼 사용할 수 있다. 변수안에 저장된 함수는 함수명이 필요없으며, 변수 이름을 통해 호출된다.

함수 선언식 vs 함수 표현식

함수 선언식은 코드가 실행되기 전에 로드되지만, 함수 표현식은 실행 흐름이 해당 함수 코드줄에 도달 했을 때 로드된다.

일반적으로 함수 선언식과 함수 표현식을 함께 사용할 수 있다. 그러나 함수 표현식을 사용하면 함수 이름이 필요없기에 함수 선언식 보다 가독성이 높다는 이점이 있다.

0개의 댓글