함수 표현식(Function Expression)과 함수 선언식(Function Declaration)은 자바스크립트에서 함수를 정의하는 두 가지 주요 방식입니다. 각각의 정의와 특징을 아래에 설명합니다.

함수 선언식 (Function Declaration)


함수 선언식은 function 키워드와 함수 이름을 사용하여 함수를 정의하는 방식입니다. 이 방식으로 정의된 함수는 코드가 실행되기 전에 자바스크립트 엔진에 의해 호이스팅되므로, 함수 선언 이전에 해당 함수를 호출할 수 있습니다.

구문:

function myFunction() {
  // 함수 내용
}

특징:

예시:

console.log(greet()); // "Hello, world!"

function greet() {
  return "Hello, world!";
}

함수 표현식 (Function Expression)


함수 표현식은 변수에 함수를 할당하는 방식으로, 함수를 정의합니다. 이 방식으로 정의된 함수는 변수에 할당된 후에만 호출할 수 있습니다. 함수 표현식은 일반 함수 표현식과 화살표 함수 표현식으로 나눌 수 있습니다.

구문:

const myFunction = function() {
  // 함수 내용
};

또는 ES6 화살표 함수 문법을 사용하여:

const myFunction = () => {
  // 함수 내용
};