본문 바로가기
STUDY/JavaScript

일급 객체(first-class object)의 세 가지 조건

by Y.Choi 2023. 12. 2.
728x90
반응형

자바 스크립트에서 함수는 일급 객체로 취급되므로 세 가지 조건을 만족한다.

이것은 함수를 변수에 할당하고, 다른 함수의 인자로 전달하며 함수의 반환 값으로 사용할 수 있다는 의미이다.

 

 

1) 변수에 할당(Assignable)

함수는 변수에 할당할 수 있다. 함수를 다른 변수나 상수에 저장할 수 있다.

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

const myFunction = greet;
console.log(myFunction('John')); // 출력: Hello, John!

 

 

2) 객체의 인자로 전달 (Pass as an argument)

함수는 다른 함수에 매개변수로 전달할 수 있다. 함수를 인자로 받는 고차 함수를 만들거나 콜백함수로 사용할 수 있다.

function calculate(operation, a, b) {
  return operation(a, b);
}

function add(x, y) {
  return x + y;
}

console.log(calculate(add, 5, 3)); // 출력: 8

 

 

3) 객체의 반환값으로 사용(Return from a function)

함수는 다른 함수에서 반환값으로 사용할 수 있다. 함수가 동적으로 생성되어 반환될 수 있다.

function multiplier(factor) {
  return function(x) {
    return x * factor;
  };
}

const multiplyByTwo = multiplier(2);
console.log(multiplyByTwo(5)); // 출력: 10

 

 

 

이러한 특성들은 함수를 일급 객체로 만들어 프로그래밍에서 더 큰 유연성과 표현력을 제공하며 더 다양한 상황에서 활용할 수 있게 된다.

 

 

728x90
반응형