본문 바로가기
programming_kr/javascript

일급 함수란?

by JSsunday 2021. 1. 1.
728x90

함수를 다른 변수와 동일하게 다루는 언어는 일급 함수를 가졌다고 표현합니다. 예를 들어, 일급 함수를 가진 언어에서는 함수를 다른 함수에 매개변수로 제공하거나, 함수가 함수를 반환할 수 있으며, 변수에도 할당할 수 있습니다.

 

변수에 함수 할당

const foo = function() {
   console.log("foobar");
}
// 변수를 사용해 호출
foo();

익명함수를 변수에 할당한 다음, 그 변수를 사용하여 끝에 괄호 ()를 추가하여 함수를 호출했습니다.

 

함수를 인자로 전달

function sayHello() {
   return "Hello, ";
}
function greeting(helloMessage, name) {
  console.log(helloMessage() + name);
}
// `sayHello`를 `greeting` 함수에 인자로 전달
greeting(sayHello, "JavaScript!");

sayHello() 함수를 greeting() 함수의 인자로 전달했습니다. 이것이 함수를 어떻게 변수처럼 다루는지 보여주는 예시입니다.

 

함수 반환

function sayHello() {
   return function() {
      console.log("Hello!");
   }
}
//실행시
sayHello()();

함수가 함수를 반환하는 예제입니다. JavaScript에서는 함수를 변수처럼 취급하기 때문에 함수를 반환할 수 있습니다.

 

https://developer.mozilla.org/ko/docs/Glossary/First-class_Function
728x90

'programming_kr > javascript' 카테고리의 다른 글

JavaScript - 콜스택, 태스크 큐, 이벤트 루프  (0) 2022.10.01

댓글