[JavaScript] 일급 함수

jwp9633·2022년 7월 21일
0

JavaScript

목록 보기
20/28

일급 객체

  • 일급 객체(firts-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 말한다.
  • 보통 함수에 전달인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다.

로빈 포플스톤은 일급 객체의 요소에 대해 다음과 같이 정의하였다.
1. 모든 요소는 함수의 실제 매개변수가 될 수 있다.
2. 모든 요소는 함수의 반환 값이 될 수 있다.
3. 모든 요소는 할당 명령문의 대상이 될 수 있다.
4. 모든 요소는 동일 비교의 대상이 될 수 있다.

JavaScript의 함수는 일급 객체에 속하며 일급 함수라 부른다.

일급 함수

  • 프로그래밍 언어에서 함수가 다른 변수처럼 다뤄질 수 있을 때, 그 언어는 일급 함수를 가졌다고 말한다.
  • 일급 함수는 다음 3가지 조건을 만족해야 한다.
    (1) 함수를 다른 함수의 전달인자로 넘길 수 있다.
    (2) 함수는 다른 함수의 반환값이 될 수 있다.
    (3) 함수를 변수에 할당할 수 있다.

(1) 함수를 다른 함수의 전달인자로 넘기기

function sayHello() {
  return "Hello, ";
}
function greeting(helloMessage, name) {
  console.log(helloMessage() + name);
}

// sayHello 함수를 greeting 함수의 전달인자로 넘겼다.
greeting(sayHello, "JavaScript!"); // Hello, JavaScript!

(2) 함수를 리턴하기

function sayHello() {
  return function() {
    console.log("Hello!");
  }
}

sayHello()(); // Hello!

(3) 변수에 함수를 할당하기

const foo = function() {
  console.log("foobar");
};

foo(); // foobar

참고문헌

profile
JUST DO IT.

2개의 댓글

comment-user-thumbnail
2024년 11월 18일

Whether you're in Delhi for business or pleasure, our Delhi Escort Service is here to make your stay more enjoyable. Our Escort in Delhi will ensure that you have a memorable time.

답글 달기
comment-user-thumbnail
2024년 11월 25일

Hiring an Escort in Delhi opens doors to a world of excitement and pleasure. Whether it’s a corporate event or a private dinner, our Delhi Escort know how to enhance your presence and make every moment count.

답글 달기