본문 바로가기
Programming & Platform/JavaScript

javascript 함수선언문과 함수표현식 소개, 특징, 차이점, 예시

by 코드스니펫 2023. 10. 27.
반응형

javascript 함수선언문과 함수표현식 소개, 특징, 차이점, 예시

 

javascript logo

 

JavaScript는 함수를 정의하는 여러 가지 방법을 제공합니다. 그 중에서도 함수 선언문과 함수 표현식은 가장 흔히 사용되는 두 가지 방식 중 하나입니다. 이 글에서는 두 방식의 차이점과 각각의 예시 코드를 통해 이해하겠습니다.

 

함수 선언문 (Function Declaration)

 

 

함수 선언 - JavaScript | MDN

함수 선언(function declaration)은 지정된 매개변수(parameter)를 갖는 함수를 정의합니다.

developer.mozilla.org

 

 

호이스팅 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

자바스크립트 호이스팅은 인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 임포트(import)의 선언문을 해당 범위의 맨 위로 이동시키는 과정을 말합니다.

developer.mozilla.org

 

함수 선언문은 함수를 선언하고 정의하는 방식 중 하나입니다. 아래는 함수 선언문의 형태입니다.

 

function greet(name) {
    return `안녕, ${name}!`;
}

 

함수 선언문의 특징

  • 함수는 코드 어디에서든 호출 가능합니다.
  • 호이스팅(Hoisting)이 일어나 함수 정의가 스코프의 최상단으로 끌어올려집니다.
  • 이름이 필요하며, 함수 이름으로 호출됩니다.

 

함수 표현식 (Function Expression)

 

 

함수 표현식 - JavaScript | MDN

function 키워드는 어떤 표현식(expression) 내에서 함수를 정의하는 데 사용될 수 있습니다.

developer.mozilla.org

 

함수 표현식은 함수를 변수에 할당하는 방식으로 정의합니다. 아래는 함수 표현식의 형태입니다.

 

const greet = function(name) {
    return `안녕, ${name}!`;
};

 

함수 표현식의 특징

  • 변수에 함수를 할당하기 때문에 변수를 통해서만 호출 가능합니다.
  • 호이스팅이 변수 선언만 일어나고, 함수 정의는 그 위치에 따라 동적으로 실행됩니다.
  • 이름이 없어도 됩니다(익명 함수 표현식) 또는 이름을 가질 수 있습니다.

 

예시 코드

 

함수 선언문의 예시

greet('예시'); // "안녕, 예시!"라고 반환됩니다.

function greet(name) {
    return `안녕, ${name}!`;
}

 

함수 표현식의 예시

greet('예시'); // "안녕, 예시!"라고 반환됩니다.

const greet = function(name) {
    return `안녕, ${name}!`;
};

 

끝으로

 

함수 선언문과 함수 표현식은 함수를 정의하고 호출하는 방법에서 차이가 있습니다. 함수 선언문은 호이스팅되고 함수 이름으로 호출되며, 함수 표현식은 변수에 할당되어 변수를 통해서만 호출됩니다. 이러한 차이를 이해하면 JavaScript 코드를 작성하고 읽을 때 더 명확하게 이해할 수 있을 것입니다.

 

▼ 아래 글도 읽어보세요! ▼

 

 

javascript 배열 안 숫자 중 최대값 찾는 다양한 방법 - 알고리즘 풀이

javascript 배열 안 숫자 중 최대값 찾는 다양한 방법 - 알고리즘 풀이 숫자로 이루어진 배열 안의 최대값을 찾는 방법에 대해 필자가 해결한 방법과 그 외의 다양한 해결 방법에 대해 소개하겠습니

lemonlog.tistory.com

 

 

VScode(Visual Studio Code) 코드 정렬 최신 단축키 + 유용한 단축키

VScode(Visual Studio Code) 코드 정렬 최신 단축키 + 유용한 단축키 VScode 내에서 코드 작성 시 외부 코드 붙여 놓으면서 코드 정렬이 들쑥날쑥 해지는 경우가 여러 있습니다. 이를 단번에 해결해주는 단

lemonlog.tistory.com

 

 

Node.js 최신버전 설치 다운로드 방법, 설치 확인 방법

Node.js 최신버전 설치 다운로드 방법, 설치 확인 방법 Node.js를 사용하기 위해서는 설치 작업이 필수 입니다. 설치시 기본 다운로드 방법과 최신버전 다운로드 방법 및 설치과정, 설치가 제대로 이

lemonlog.tistory.com